feat/Update_Controllers_to_Allow_for_Premium_Membership
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Dependency and supply-chain evidence
|
||||
|
||||
Captured: 2026-08-02
|
||||
|
||||
## Advisory checks
|
||||
|
||||
- NuGet: no known vulnerable direct or transitive package was reported.
|
||||
- npm: two affected package entries (`react-router` and `react-router-dom`) cover four moderate advisories. One narrow redirect issue is fixed in 6.30.4; the remaining audit-suggested resolution is React Router 7.18.2, a breaking major upgrade. No upgrade was attempted.
|
||||
- Python: `pip-audit` returned 119 records across six installed packages; after deduplicating repeated aliases, the affected counts were `transformers` 21, `torch` 22, `pillow` 17, `pypdf` 35, `python-multipart` 6, and transitive `starlette` 7.
|
||||
|
||||
Reachability matters:
|
||||
|
||||
- `pypdf` directly parses authenticated user PDF uploads and multiple advisories describe infinite loops, excessive CPU, or memory exhaustion from crafted PDFs.
|
||||
- Pillow directly opens authenticated image uploads; advisories include decompression bombs and memory-corruption cases. Extension routing is not a content-signature check.
|
||||
- `python-multipart`/Starlette parse the sidecar upload before the endpoint's eight-megabyte post-read check; several advisories are request-parsing denial of service.
|
||||
- Many `torch`/`transformers` advisories concern model or checkpoint loading. The application loads a fixed configured model, not a user-supplied model, so those records are not all treated as directly exploitable.
|
||||
|
||||
Existing mitigations: authenticated backend upload path, private backend-only AI network, required production service token, eight-megabyte application limit, accepted-extension list, and no host-published sidecar port. Residual risk: containers have no resource limits and the parser handles untrusted bytes in-process.
|
||||
|
||||
## Reproducibility and provenance
|
||||
|
||||
- npm has `package-lock.json` and uses `npm ci`.
|
||||
- NuGet has no lockfile; the repository has no `global.json`, so local builds selected SDK 10 while the project targets .NET 9.
|
||||
- Python top-level requirements are exact pins, but transitive dependencies are not hash-locked.
|
||||
- Docker base images use mutable tags rather than digests.
|
||||
- Gitea Actions use mutable major tags for checkout/setup-node, an unpinned remote `dotnet-install.sh`, and a tagged SSH action rather than immutable commit SHAs.
|
||||
- The AI image upgrades pip/setuptools/wheel during build and downloads the configured Hugging Face model at runtime unless already cached.
|
||||
- No SBOM generation, package licence gate, container CVE scan, or signed-provenance check is configured.
|
||||
|
||||
`dotnet list ... --deprecated` marked xUnit 2.9.2 and its transitive xUnit 2 packages as legacy. This is maintenance information, not a current security defect.
|
||||
Reference in New Issue
Block a user