Unauthenticated path injection in Immich machine-learning service
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · Low
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
Immich before 3.3.0 has an unrestricted path flaw in its unauthenticated machine-learning /predict endpoint, which accepts an options object without restricting security-sensitive parameters (CWE-22). A remote attacker with network access to the service can set the cache directory to an arbitrary writable path. Model downloads then write to that path, and after selected model-loading failures the cache clearing routine recursively deletes the attacker-selected directory. The impact depends on filesystem permissions and the selected path, and the model-name allowlist prevents code execution.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Immich is a high-performance self-hosted photo and video management solution. Prior to 3.3.0, the unauthenticated machine-learning /predict endpoint in machine-learning/immich_ml/main.py accepted an options object and passed its values into model construction in machine-learning/immich_ml/models/base.py without restricting security-sensitive parameters. An attacker with network access to the service could set cache_dir to an arbitrary writable path, causing model downloads to write there and causing clear_cache() to pass that path to shutil.rmtree() after selected model-loading failures. Depending on filesystem permissions and the selected path, this could modify files in mounted data locations or recursively delete an attacker-selected directory. The model-name allowlist prevents this issue from becoming arbitrary-model deserialization or code execution. This issue is fixed in version 3.3.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| immich-app | immich | before 3.3.0 | 3.3.0 | Patch available | CNA |
- immich Vendorimmich-app Affected before 3.3.0 Fixed in 3.3.0 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:futo:immich:*:*:*:*:*:*:*:* | — | — | immich-app |
- cpe:2.3:a:futo:immich:*:*:*:*:*:*:*:* Versions — — ·immich-app
Remediation
Upgrade Immich to version 3.3.0, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA immich (immich-app) Fixed in 3.3.0
Timeline
- 2026-10-30 Threatist record created from CVE-2026-119328
- 2026-11-01 Priority changed: MEDIUM → LOW
- 2026-11-06 CISA SSVC decision points changed
- 2026-11-06 Priority changed: LOW → HIGH
References
More immich-app vulnerabilities
- TI-2026-38703 immich: One-click account takeover via XSS in login page continue redirect CVSS 3.1CRITICAL 9.6
- TI-2026-19252 immich API Key Privilege Escalation vulnerability CVSS 3.1HIGH 8.8
- TI-2026-65721 immich-app Immich Shared Link Preview access.ts checkSharedLinkAccess improper authorization CVSS 4.0MEDIUM 6.9
- TI-2026-68375 Code injection in Immich lets authenticated users run code via SVG CVSS 4.0HIGH 7.7
- TI-2025-28440 immich allows account hijacking through oauth2 CVSS 4.0HIGH 7.3
- TI-2026-42398 immich < 3.0.3 Shared Album Editor Ownership Takeover via updateUser CVSS 4.0HIGH 7.2
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences