CVE-2025-55195

7.3 HIGH

📋 TL;DR

This CVE describes a prototype pollution vulnerability in the @std/toml Deno Standard Library. Attackers can inject malicious properties into object prototypes by parsing untrusted TOML data, potentially leading to remote code execution or denial of service. Any application using vulnerable versions of @std/toml to parse untrusted TOML input is affected.

💻 Affected Systems

Products:
  • @std/toml (Deno Standard Library)
Versions: All versions prior to 1.0.9
Operating Systems: All platforms where Deno/Node.js runs
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when parsing untrusted TOML data. Both Node.js runtime and browser environments are affected.

⚠️ 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

Remote code execution leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Denial of service, application crashes, or limited data manipulation depending on application context.

🟢

If Mitigated

No impact if patched version is used or if TOML parsing is restricted to trusted sources only.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires ability to supply malicious TOML data to vulnerable parsing functions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.9

Vendor Advisory: https://github.com/denoland/std/security/advisories/GHSA-crjp-8r9q-2j9r

Restart Required: No

Instructions:

1. Update @std/toml to version 1.0.9 or later. 2. Update package.json to specify @std/toml >=1.0.9. 3. Run dependency update command (e.g., deno cache --reload).

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Validate and sanitize all TOML input before parsing, rejecting suspicious patterns.

Use Object.create(null)

all

Modify code to use Object.create(null) instead of {} when creating target objects for merging.

🧯 If You Can't Patch

  • Implement strict input validation to reject untrusted TOML data
  • Isolate TOML parsing to sandboxed environments or containers

🔍 How to Verify

Check if Vulnerable:

Check package.json or deno.lock for @std/toml version <1.0.9

Check Version:

deno info | grep @std/toml or check package.json dependencies

Verify Fix Applied:

Confirm @std/toml version is >=1.0.9 in package.json and verify no prototype pollution occurs with test TOML data

📡 Detection & Monitoring

Log Indicators:

  • Unusual application crashes
  • Unexpected property assignments in logs
  • High volume of TOML parsing errors

Network Indicators:

  • Unexpected TOML data submissions to APIs
  • Large TOML payloads to parsing endpoints

SIEM Query:

source=application_logs AND ("prototype pollution" OR "unexpected property" OR "TOML parsing error")

🔗 References

📤 Share & Export