CVE-2026-24845

6.5 MEDIUM

📋 TL;DR

malcontent versions 0.10.0 through 1.20.2 expose Docker registry credentials when scanning malicious OCI images. Attackers can redirect authentication requests to steal credentials via crafted WWW-Authenticate headers. Organizations using malcontent for supply chain security analysis are affected.

💻 Affected Systems

Products:
  • malcontent
Versions: 0.10.0 through 1.20.2
Operating Systems: All platforms running malcontent
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists when malcontent scans OCI images from registries, using default Docker credential keychain authentication.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Docker registry credentials are stolen, allowing attackers to push malicious images, pull private images, or compromise downstream systems that trust those credentials.

🟠

Likely Case

Credentials for internal or public registries are exposed, potentially leading to unauthorized access to container images and supply chain attacks.

🟢

If Mitigated

With anonymous auth or patched versions, only public image metadata is accessible, limiting impact to information disclosure about image contents.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires controlling a registry or manipulating registry responses to redirect authentication. No public exploit code is known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.20.3

Vendor Advisory: https://github.com/chainguard-dev/malcontent/security/advisories/GHSA-9m43-p3cx-w8j5

Restart Required: No

Instructions:

1. Update malcontent to version 1.20.3 or later using your package manager. 2. Verify the update with 'malcontent --version'. 3. No restart is needed as malcontent runs as a command-line tool.

🔧 Temporary Workarounds

Use anonymous authentication

all

Configure malcontent to use anonymous auth instead of Docker credentials for OCI pulls

export MALCONTENT_AUTH_ANONYMOUS=true
malcontent scan --anonymous

Restrict registry access

all

Only allow malcontent to scan images from trusted registries using network controls

🧯 If You Can't Patch

  • Disable malcontent scanning of OCI images from untrusted or external registries
  • Use separate, limited-scope credentials for malcontent that don't grant push access to registries

🔍 How to Verify

Check if Vulnerable:

Check malcontent version with 'malcontent --version'. If version is between 0.10.0 and 1.20.2 inclusive, the system is vulnerable.

Check Version:

malcontent --version

Verify Fix Applied:

After updating, confirm version is 1.20.3 or higher with 'malcontent --version'. Test scanning an image to ensure it works with anonymous auth.

📡 Detection & Monitoring

Log Indicators:

  • Authentication failures to unexpected domains in malcontent logs
  • Unusual registry authentication patterns

Network Indicators:

  • HTTP redirects during OCI image pulls to unexpected domains
  • Authentication requests to non-standard endpoints

SIEM Query:

process.name="malcontent" AND (http.status_code=3* OR network.destination.domain NOT IN ("docker.io", "gcr.io", "quay.io"))

🔗 References

📤 Share & Export