CVE-2025-15504
📋 TL;DR
A null pointer dereference vulnerability exists in LIEF's ELF binary parser that can cause denial of service when processing malicious ELF files. This affects LIEF versions up to 0.17.1. The vulnerability requires local access to trigger and could crash applications using the vulnerable library.
💻 Affected Systems
- lief-project LIEF
📦 What is this software?
Lief by Lief Project
⚠️ Risk & Real-World Impact
Worst Case
Application crash leading to denial of service for any service or tool using LIEF to parse ELF files
Likely Case
Local denial of service through crafted ELF files causing parser crashes
If Mitigated
Minimal impact if proper input validation and sandboxing are implemented
🎯 Exploit Status
Exploit code is publicly available on GitHub, requires local access to trigger
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.17.2
Vendor Advisory: https://github.com/lief-project/LIEF/releases/tag/0.17.2
Restart Required: Yes
Instructions:
1. Check current LIEF version
2. Upgrade to version 0.17.2 or later using package manager
3. Restart any services using LIEF
4. Recompile any applications statically linked to LIEF
🔧 Temporary Workarounds
Input validation
allImplement strict input validation for ELF files before passing to LIEF parser
Sandbox parsing
allRun LIEF parsing operations in isolated containers or sandboxes
🧯 If You Can't Patch
- Restrict local access to systems running vulnerable LIEF versions
- Implement monitoring for abnormal process crashes related to ELF parsing
🔍 How to Verify
Check if Vulnerable:
Check LIEF version with 'python -c "import lief; print(lief.__version__)"' or check package manager
Check Version:
python -c "import lief; print(lief.__version__)"
Verify Fix Applied:
Verify version is 0.17.2 or higher and test with known malicious ELF files
📡 Detection & Monitoring
Log Indicators:
- Segmentation fault logs from processes using LIEF
- Abnormal process termination during ELF file processing
Network Indicators:
- None - local vulnerability only
SIEM Query:
Process termination events with exit code 139 (SIGSEGV) from applications known to use LIEF
🔗 References
- https://github.com/lief-project/LIEF/
- https://github.com/lief-project/LIEF/commit/81bd5d7ea0c390563f1c4c017c9019d154802978
- https://github.com/lief-project/LIEF/issues/1277
- https://github.com/lief-project/LIEF/issues/1277#issuecomment-3693859001
- https://github.com/lief-project/LIEF/releases/tag/0.17.2
- https://github.com/oneafter/1210/blob/main/segv1
- https://vuldb.com/?ctiid.340375
- https://vuldb.com/?id.340375
- https://vuldb.com/?submit.733329
- https://github.com/lief-project/LIEF/issues/1277
- https://github.com/lief-project/LIEF/issues/1277#issuecomment-3693859001
- https://vuldb.com/?submit.733329