CVE-2025-14549
📋 TL;DR
This vulnerability in Eclipse OMR's compiler component causes incorrect handling of NUL characters during charset translation on Z processors, leading to buffer over-reads. It affects Eclipse OpenJ9 consumers using OMR on IBM Z systems. Attackers could exploit this to read sensitive memory contents or cause application crashes.
💻 Affected Systems
- Eclipse OMR
- Eclipse OpenJ9
📦 What is this software?
Omr by Eclipse
⚠️ Risk & Real-World Impact
Worst Case
Memory disclosure leading to exposure of sensitive data like encryption keys, credentials, or application secrets, potentially enabling further attacks.
Likely Case
Application instability, crashes, or denial of service due to improper memory access during charset conversion operations.
If Mitigated
Limited impact with proper memory protections and isolation, though charset conversion errors may still cause functional issues.
🎯 Exploit Status
Exploitation requires control over charset conversion inputs and specific Z processor configurations. No public exploits known at this time.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Eclipse OMR 0.8.0
Vendor Advisory: https://github.com/eclipse-omr/omr/pull/8073
Restart Required: Yes
Instructions:
1. Update Eclipse OMR to version 0.8.0 or later. 2. Rebuild any dependent applications using the updated OMR library. 3. Restart affected Java applications using OpenJ9.
🔧 Temporary Workarounds
Disable affected charset conversions
allAvoid using Latin-compatible charset to IBM-1047/037 translation sequences in vulnerable configurations
Use alternative charset handling
allImplement custom charset conversion logic that avoids the vulnerable OMR optimization path
🧯 If You Can't Patch
- Isolate affected systems from untrusted networks and users
- Implement strict input validation for charset conversion operations
🔍 How to Verify
Check if Vulnerable:
Check OMR version: if using 0.7.0 to <0.8.0 on Z processors with OpenJ9 charset conversion, system is vulnerable.
Check Version:
Check build configuration or dependency manifests for OMR version 0.7.0-0.7.x
Verify Fix Applied:
Verify OMR version is 0.8.0 or later and test charset conversion operations with NUL characters.
📡 Detection & Monitoring
Log Indicators:
- Java/OpenJ9 crash logs
- Memory access violation errors
- Charset conversion failures
Network Indicators:
- Unusual memory read patterns from Z systems
- Increased application restart rates
SIEM Query:
source="java" AND (error="memory" OR error="charset" OR error="conversion") AND host="*z*"