CVE-2025-69277

4.5 MEDIUM

📋 TL;DR

This vulnerability in libsodium's crypto_core_ed25519_is_valid_point function incorrectly validates elliptic curve points in certain custom cryptography scenarios, potentially allowing invalid points to be accepted as valid. This affects applications using libsodium for custom cryptographic implementations or processing untrusted data with this specific function. The impact is limited to specific use cases rather than default configurations.

💻 Affected Systems

Products:
  • libsodium
  • PyNaCl (Python binding)
Versions: libsodium versions before commit ad3004e (2025-12-30), PyNaCl versions before commits 9631488 and ecf41f5
Operating Systems: All platforms running affected libsodium versions
Default Config Vulnerable: ✅ No
Notes: Only affects atypical use cases where applications call crypto_core_ed25519_is_valid_point directly with untrusted data or in custom cryptographic implementations. Standard libsodium APIs and typical Ed25519 usage are not 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

Cryptographic protocol failures leading to potential authentication bypass, data integrity compromise, or privilege escalation in systems relying on custom Ed25519 implementations with untrusted input.

🟠

Likely Case

Cryptographic validation errors in custom implementations causing application failures or unexpected behavior, but unlikely to lead to direct security breaches in standard configurations.

🟢

If Mitigated

Minimal impact as most applications use libsodium's standard APIs correctly and don't pass untrusted data to the low-level validation function.

🌐 Internet-Facing: LOW
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires specific knowledge of custom cryptographic implementations and access to pass malicious data to the vulnerable function. No public exploits have been reported.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: libsodium commit ad3004e (2025-12-30), PyNaCL commits 9631488 and ecf41f5

Vendor Advisory: https://00f.net/2025/12/30/libsodium-vulnerability/

Restart Required: Yes

Instructions:

1. Update libsodium to version including commit ad3004e or later. 2. For Python applications using PyNaCl, update to version including commits 9631488 and ecf41f5. 3. Rebuild and restart applications using the updated library.

🔧 Temporary Workarounds

Avoid custom crypto implementations

all

Ensure applications use standard libsodium APIs rather than calling crypto_core_ed25519_is_valid_point directly with untrusted data.

🧯 If You Can't Patch

  • Review code for direct calls to crypto_core_ed25519_is_valid_point with untrusted input and implement additional validation
  • Isolate applications using custom cryptographic implementations from untrusted data sources

🔍 How to Verify

Check if Vulnerable:

Check libsodium version or commit hash. For libsodium: verify version predates commit ad3004e (2025-12-30). For PyNaCl: verify version predates commits 9631488 and ecf41f5.

Check Version:

For libsodium: `sodium_version_string()` in code or check build metadata. For PyNaCl: `python -c "import nacl; print(nacl.__version__)"`

Verify Fix Applied:

Confirm libsodium includes commit ad3004e or later, or PyNaCl includes commits 9631488 and ecf41f5. Test custom cryptographic implementations that use crypto_core_ed25519_is_valid_point.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected cryptographic validation failures
  • Application errors in custom crypto implementations

Network Indicators:

  • Unusual patterns in cryptographic protocol communications

SIEM Query:

Search for application logs containing errors related to cryptographic validation or libsodium function failures

🔗 References

📤 Share & Export