CVE-2024-50614
NoneCVSS
—
EPSS
0.4%
Published
Oct 27, 2024
CISA due date
—
Cloudanix analysis
A flaw in a common XML parsing library can make programs that use it stop working when they receive specially formatted input, interrupting services until fixed.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Reachable assertion in TinyXML2's XMLUtil::GetCharacterRef when processing a character reference near UINT_MAX/16 causes the application to terminate.
Why it matters to the business
Attackers can trigger repeated crashes in applications that parse untrusted XML, leading to loss of service availability and potential disruption of dependent systems until mitigated.
How an attack unfolds
An attacker supplies a specially crafted XML document containing a character reference crafted to trigger the assertion in GetCharacterRef; the parser reaches the assert and the process exits.
How to fix it
Upgrade affected packages to the fixed versions: tomcat10 on SUSE Linux Enterprise Module for Web and Scripting 15 SP5 to 10.1.18-150200.5.8.1 and on openSUSE Leap 15.5 to 10.1.18-150200.5.8.1. Rebuild or redeploy any applications statically linking TinyXML2 after updating the library.
How to confirm the fix worked
Verify package versions match or exceed the listed fixed releases, recompile with updated TinyXML2 source if vendored, and confirm the assertion no longer triggers on test payloads containing large character references.
Typical attack path
- Identify an endpoint or service that accepts and parses XML using an affected TinyXML2 version.
- Craft an XML payload with a character reference value near UINT_MAX/16.
- Submit the payload via the input channel (file upload, API request, or document processing).
- Observe application termination and service unavailability.
How to detect it
Review application and system logs for abrupt process terminations or assertion failures during XML parsing; correlate with incoming XML requests around the time of the crash.
What your security team should do
- Prioritize patching Tomcat packages on SUSE and openSUSE systems within standard change windows given low EPSS and absence from KEV.
- Add XML input validation or size limits as a defense-in-depth measure until upgrades complete.
- Monitor for application crashes correlated with XML processing workloads.
The record
TinyXML2 through 10.0.0 has a reachable assertion for UINT_MAX/16, that may lead to application exit, in tinyxml2.cpp XMLUtil::GetCharacterRef.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | tinyxml2 | 0 | No fix |
| Debian:12 | tinyxml2 | 0 | No fix |
| Debian:13 | tinyxml2 | 0 | No fix |
| Debian:14 | tinyxml2 | 0 | No fix |
| Ubuntu:14.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:16.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:18.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:20.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:22.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:24.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:24.10 | tinyxml2 | 0 | No fix |
| Ubuntu:25.04 | tinyxml2 | 0 | No fix |
| Ubuntu:25.10 | tinyxml2 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | tinyxml2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | tinyxml2 | 0 | No fix |