VDB-11590 · OSVDB 101329

XMLSoft libxml2 2.9.1 xpath.c xmlXPathCompOpEval denial of service

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
6.7$0-$5k0.00

A vulnerability was found in XMLSoft libxml2 2.9.1 (Document Processing Software). It has been declared as critical. This vulnerability affects the function xmlXPathCompOpEval of the file xpath.c. The manipulation with an unknown input leads to a denial of service vulnerability. The CWE definition for the vulnerability is CWE-404. The product does not release or incorrectly releases a resource before it is made available for re-use. As an impact it is known to affect availability.

The weakness was published 12/18/2013 by Jan Pokorny with Red Hat as Handling of XPath function arguments in error case as confirmed git commit (GIT Repository). The advisory is available at git.gnome.org. The vendor was not involved in the coordination of the public release. The exploitation appears to be easy. The attack can be initiated remotely. No form of authentication is required for a successful exploitation. Technical details and also a public exploit are known.

It is declared as proof-of-concept.

Applying a patch is able to eliminate this problem. The bugfix is ready for download at git.gnome.org. A possible mitigation has been published 2 days after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:

diff --git a/xpath.c b/xpath.c
index 1f56b96..0ca8cfa 100644
--- a/xpath.c
+++ b/xpath.c
@@ -13524,10 +13524,15 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
    int frame;
 
    frame = xmlXPathSetFrame(ctxt);
-   if (op->ch1 != -1)
+   if (op->ch1 != -1) {
       total +=
           xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
-   if (ctxt->valueNr < op->value) {
+      if (ctxt->error != XPATH_EXPRESSION_OK) {
+         xmlXPathPopFrame(ctxt, frame);
+         return (total);
+      }
+   }
+   if (ctxt->valueNr < ctxt->valueFrame + op->value) {
       xmlGenericError(xmlGenericErrorContext,
          "xmlXPathCompOpEval: parameter error\n");
       ctxt->error = XPATH_INVALID_OPERAND;

Additional details are provided at mail.gnome.org.

Productinfo

Type

Vendor

Name

Version

License

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 7.5
VulDB Meta Temp Score: 6.7

VulDB Base Score: 7.5
VulDB Temp Score: 6.7
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

Exploitinginfo

Class: Denial of service
CWE: CWE-404
CAPEC: 🔍
ATT&CK: 🔍

Local: No
Remote: Yes

Availability: 🔍
Access: Public
Status: Proof-of-Concept
Price Prediction: 🔍
Current Price Estimation: 🔍

0-Dayunlockunlockunlockunlock
Todayunlockunlockunlockunlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Patch
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Patch: git.gnome.org

Timelineinfo

12/18/2013 🔍
12/20/2013 +2 days 🔍
12/24/2013 +4 days 🔍
03/24/2019 +1916 days 🔍

Sourcesinfo

Advisory: Handling of XPath function arguments in error case
Researcher: Jan Pokorny
Organization: Red Hat
Status: Confirmed
OSVDB: 101329

scip Labs: https://www.scip.ch/en/?labs.20161013
Misc.: 🔍

Entryinfo

Created: 12/24/2013 23:28
Updated: 03/24/2019 08:25
Changes: 12/24/2013 23:28 (52), 03/24/2019 08:25 (2)
Complete: 🔍

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you need the next level of professionalism?

Upgrade your account now!