CVE-2025-24855

7.8 HIGH

📋 TL;DR

CVE-2025-24855 is a use-after-free vulnerability in libxslt's numbers.c that occurs during nested XPath evaluations when an XPath context node is modified but not properly restored. This could allow attackers to execute arbitrary code or cause denial of service. Affected systems include any software using vulnerable versions of libxslt for XML/XSLT processing.

💻 Affected Systems

Products:
  • libxslt
  • Applications using libxslt for XML/XSLT processing
  • GNOME-related software
  • Debian packages with libxslt
Versions: libxslt versions before 1.1.43
Operating Systems: Linux distributions with vulnerable libxslt packages, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability triggers when processing XML/XSLT content with nested XPath evaluations. Applications must use libxslt for XML processing to be affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise if exploited in a vulnerable application processing untrusted XML/XSLT content.

🟠

Likely Case

Application crash or denial of service when processing malicious XML/XSLT content, potentially disrupting XML processing services.

🟢

If Mitigated

Limited impact if proper input validation and sandboxing prevent malicious XML/XSLT content from reaching vulnerable components.

🌐 Internet-Facing: MEDIUM - Risk depends on whether internet-facing applications process untrusted XML/XSLT content using libxslt.
🏢 Internal Only: LOW - Lower risk for internal systems not processing untrusted XML/XSLT content, but still vulnerable to insider threats.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires the ability to supply malicious XML/XSLT content to a vulnerable application. No public exploit code is currently available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: libxslt 1.1.43 and later

Vendor Advisory: https://gitlab.gnome.org/GNOME/libxslt/-/issues/128

Restart Required: No

Instructions:

1. Update libxslt to version 1.1.43 or later using your distribution's package manager. 2. For Debian/Ubuntu: sudo apt update && sudo apt upgrade libxslt1.1. 3. For source installations: download from https://gitlab.gnome.org/GNOME/libxslt, compile and install. 4. Rebuild any applications statically linked to libxslt.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement strict validation and sanitization of XML/XSLT input to prevent malicious content from reaching vulnerable libxslt functions.

Disable XSLT Processing

all

If XSLT processing is not required, disable it in applications to prevent exploitation vectors.

🧯 If You Can't Patch

  • Implement network segmentation to isolate systems using vulnerable libxslt versions from untrusted networks.
  • Deploy web application firewalls (WAF) with XML/XSLT content filtering rules to block malicious payloads.

🔍 How to Verify

Check if Vulnerable:

Check libxslt version: xsltproc --version | grep 'libxslt'. If version is earlier than 1.1.43, system is vulnerable.

Check Version:

xsltproc --version | grep 'libxslt'

Verify Fix Applied:

After patching, verify version is 1.1.43 or later: xsltproc --version | grep 'libxslt'.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes or abnormal termination when processing XML/XSLT files
  • Memory access violation errors in application logs
  • Increased error rates in XML processing services

Network Indicators:

  • Unusual XML/XSLT file uploads to web applications
  • Spikes in XML processing requests followed by service degradation

SIEM Query:

source="application_logs" AND ("segmentation fault" OR "memory violation" OR "libxslt") AND "xml"

🔗 References

📤 Share & Export