CVE-2024-28285

9.8 CRITICAL

📋 TL;DR

CVE-2024-28285 is a fault injection vulnerability in Crypto++'s ElGamal decryption function that allows a co-resident attacker on the same system to extract sensitive information and potentially escalate privileges. This affects any application using Crypto++ 8.9 for ElGamal decryption. The vulnerability requires local access to the victim's system.

💻 Affected Systems

Products:
  • Crypto++ (Cryptopp)
Versions: 8.9
Operating Systems: All platforms where Crypto++ runs
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using the SymmetricDecrypt function in cryptopp/elgamal.h. Applications must be actively performing ElGamal decryption operations.

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

Complete compromise of encrypted data, privilege escalation to root/system, and lateral movement within the environment.

🟠

Likely Case

Disclosure of sensitive information from memory, potential credential theft, and limited privilege escalation within the affected process context.

🟢

If Mitigated

No impact if proper isolation controls prevent co-residence or if the vulnerable function isn't used.

🌐 Internet-Facing: LOW - Requires local system access, not directly exploitable over network.
🏢 Internal Only: HIGH - Attackers with internal access can exploit this to escalate privileges and access sensitive data.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploit requires local access and ability to co-reside on the same system as victim process. Fault injection techniques needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.10 or later

Vendor Advisory: https://github.com/weidai11/cryptopp/security/advisories

Restart Required: Yes

Instructions:

1. Update Crypto++ library to version 8.10 or later. 2. Recompile all applications using Crypto++. 3. Restart affected services.

🔧 Temporary Workarounds

Disable ElGamal Decryption

all

Remove or disable use of ElGamal decryption in applications

Modify application code to avoid using SymmetricDecrypt from elgamal.h

Process Isolation

linux

Run sensitive processes in isolated containers or VMs

docker run --security-opt seccomp=unconfined --security-opt no-new-privileges -it image_name
Use VM isolation for critical processes

🧯 If You Can't Patch

  • Implement strict process isolation using containers or VMs to prevent co-residence attacks
  • Apply principle of least privilege and run processes with minimal permissions

🔍 How to Verify

Check if Vulnerable:

Check if application uses Crypto++ 8.9 and calls SymmetricDecrypt from elgamal.h. Review source code or use ldd/ldconfig to check linked libraries.

Check Version:

For Linux: ldd /path/to/application | grep cryptopp; For source: check cryptlib.h version

Verify Fix Applied:

Verify Crypto++ version is 8.10+ and recompile applications. Test that ElGamal decryption functions correctly without crashes.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected process crashes during decryption operations
  • Memory access violations in Crypto++ processes

Network Indicators:

  • None - local attack only

SIEM Query:

Process monitoring for fault injection tools or unexpected access to Crypto++ process memory

🔗 References

📤 Share & Export