External risk intelligence

Expat Integer Overflow Vulnerability in xmlparse.c

CVE advisorySeverity: CRITICAL (CVSS 9.8)

CVE-2022-22824

libexpat is a low-level XML parsing library embedded in a wide variety of software, ranging from local tools and desktop applications to network-facing servers and appliances. While it is commonly included in internet-facing products like the listed remote access servers and vulnerability scanners, the library itself is not inherently a public-facing service, making its reachability entirely dependent on the host application.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This advisory describes a critical vulnerability in the Expat XML parsing library, which is a component used by many software applications. An integer overflow in this library could allow for significant disruption. The main concern is confirming relevance and exposure to determine if affected systems are in use.

  • Flaw in widely used software component.
  • Critical flaw could lead to system disruption.
  • Confirm if our systems use this component.

Attack Path

How an attacker could exploit the issue

An attacker could leverage this vulnerability by sending specially crafted XML data to an application that utilizes the vulnerable Expat XML parser. This crafted data would target the `defineAttribute` function, leading to an integer overflow. If successful, this could result in a denial-of-service condition or potentially allow for more severe impacts, depending on how the overflow is handled by the application.

  • Network exposure required.
  • Malicious XML data triggers overflow.
  • Potential for denial-of-service.

Live Threat

Current exploitation, exposure, and threat context

This vulnerability in the Expat XML parsing library could affect applications that use it to process XML data. When processing specially crafted XML input, an integer overflow may occur, potentially leading to denial of service or, in some scenarios, unauthorized information disclosure or modification. The exact impact depends on how the vulnerable application integrates and utilizes the Expat library for XML processing.

  • Application data integrity.
  • Malformed XML processing.
  • Potential data corruption or disclosure.

Operational Fix

Recommended remediation, mitigation, and detection steps

This vulnerability in Expat's `defineAttribute` function, an integer overflow, could impact various software and appliances embedding the library, including network-facing servers and vulnerability scanners. Initial response should focus on identifying deployments, assessing reachability and business criticality, and assigning ownership to the relevant application or infrastructure teams. Planning remediation should then follow based on this risk assessment, potentially involving vendor coordination for affected products like Siemens Sinema Remote Connect Server or Tenable Nessus.

  • Identify affected systems and owners.
  • Verify reachability and business criticality.
  • Plan remediation based on risk.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is libexpat and why is it used?

libexpat is a widely used, low-level software library that provides the core logic for parsing XML data. Because XML is a standard format for data exchange and configuration files, many applications, operating systems, and network appliances rely on this library to interpret incoming information. It is a foundational component rather than a standalone application, meaning it operates invisibly inside other software products.

How does an integer overflow work in this context?

This vulnerability is classified as an integer overflow (CWE-190). In libexpat's `defineAttribute` function, an arithmetic operation can result in a number too large for the system to handle. This essentially confuses the software's memory management, which can lead to system instability, denial of service, or unpredictable behavior when the program tries to process an attribute within an XML document.

What triggers the vulnerability in libexpat?

An attacker triggers this by providing specially crafted, malicious XML data to an application that uses an outdated version of libexpat. If the application is designed to parse user-supplied or external XML, this input can force the overflow to occur. Standard, well-formed XML traffic that does not contain these specific malformed attributes will not trigger this condition.

How do I know if this CVE affects my systems?

Halo Surface Signal notes that while libexpat is a common component, its reachability depends entirely on the host application. You should determine if you run products that embed libexpat, such as specific versions of Tenable Nessus, Siemens Sinema Remote Connect Server, or certain Linux distributions. The risk is highest if the host application itself is internet-facing, as that provides the network path needed to deliver the malicious XML.

What should I do first to address this?

Begin by auditing your infrastructure to identify which applications use libexpat and confirming if they are running a vulnerable version. Do not focus solely on the library itself; prioritize identifying the parent software or appliances. Once identified, consult the manufacturer or the maintainers of those specific products to obtain and deploy the required updates or patches provided by the vendors.

References