CVE-2026-23896

7.2 HIGH

📋 TL;DR

This vulnerability allows low-privilege API keys in Immich to escalate their own permissions by calling the update endpoint, granting themselves full administrative access. It affects all Immich installations prior to version 2.5.0 where API keys are used. Users with self-hosted Immich instances are at risk.

💻 Affected Systems

Products:
  • immich
Versions: All versions prior to 2.5.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations where API keys are created and used. Docker and bare-metal deployments are both vulnerable.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with any API key can gain full administrative control over the Immich instance, allowing them to view, modify, or delete all photos/videos, create new users, and potentially access the underlying server.

🟠

Likely Case

Malicious users or compromised low-privilege API keys escalate to admin privileges, leading to unauthorized access to sensitive media and system configuration.

🟢

If Mitigated

If proper network segmentation and API key management are in place, impact is limited to the Immich application data only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires a valid API key (any privilege level). The vulnerability is in the API endpoint logic, making exploitation straightforward once an API key is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.5.0

Vendor Advisory: https://github.com/immich-app/immich/security/advisories/GHSA-237r-x578-h5mv

Restart Required: Yes

Instructions:

1. Backup your Immich database and media files. 2. Update Immich to version 2.5.0 or later using your deployment method (Docker, manual, etc.). 3. Restart the Immich services. 4. Regenerate all API keys as a precaution.

🔧 Temporary Workarounds

Disable API Key Usage

all

Temporarily disable all API key authentication until patched

Modify Immich configuration to disable API key endpoints or restrict network access to API endpoints

Network Restriction

linux

Restrict access to Immich API endpoints to trusted IPs only

Use firewall rules to limit access to Immich ports (e.g., 2283) to specific IP addresses

🧯 If You Can't Patch

  • Rotate all API keys immediately and monitor for suspicious activity
  • Implement strict network segmentation to isolate Immich from other critical systems

🔍 How to Verify

Check if Vulnerable:

Check your Immich version. If it's below 2.5.0 and you use API keys, you are vulnerable.

Check Version:

docker exec immich-server node -e "console.log(require('/usr/src/app/package.json').version)" or check Immich web interface settings

Verify Fix Applied:

After updating, verify the version is 2.5.0 or higher and test that API keys cannot modify their own permissions via the update endpoint.

📡 Detection & Monitoring

Log Indicators:

  • API calls to permission update endpoints from low-privilege API keys
  • Unusual permission changes in audit logs

Network Indicators:

  • Multiple PATCH/PUT requests to /api/keys/* endpoints from single API key

SIEM Query:

source="immich" AND (url_path="/api/keys/" AND method="PATCH")

🔗 References

📤 Share & Export