Cloudanix VulnDB

CVE-2015-8806

High · 7.5

CVSS

7.5

EPSS

5.0%

Published

Apr 13, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in a common library used to read web pages can let attackers send specially made documents that crash programs and disrupt services.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

A heap-based buffer over-read in libxml2's dict.c parser triggers an application crash when processing a crafted HTML document containing an unexpected character immediately after the "<!DOCTYPE html" substring.

Why it matters to the business

Systems relying on libxml2 for HTML parsing can experience repeated crashes leading to service outages and degraded availability for dependent applications.

How an attack unfolds

An attacker crafts an HTML document with an unexpected character right after the DOCTYPE declaration and delivers it to any application or service using the vulnerable libxml2 parser, causing the parser to read beyond allocated memory and terminate.

How to fix it

Upgrade libxml2 to a version containing the upstream fix for this parsing issue; apply vendor patches for affected distributions such as Ubuntu and Debian; rebuild or redeploy any statically linked applications.

How to confirm the fix worked

Test the updated library against the original proof-of-concept HTML document to confirm the parser no longer crashes; monitor application stability under load with similar malformed inputs.

Typical attack path

  1. Identify a target application or service that processes untrusted HTML using libxml2
  2. Craft a minimal HTML document containing an unexpected character immediately after "<!DOCTYPE html"
  3. Deliver the document via network request, file upload, or other input vector accepted by the target
  4. Trigger parsing of the malicious document to induce the buffer over-read and crash

How to detect it

Review application and system logs for unexpected crashes or segmentation faults occurring during HTML or XML parsing; correlate crash reports with libxml2 stack traces if available.

What your security team should do

  • Prioritize patching libxml2 across all affected systems due to its widespread use in XML/HTML processing
  • Inventory applications and libraries that depend on libxml2 to assess exposure scope
  • Implement input validation or sandboxing around HTML parsers as a defense-in-depth measure until patches are applied

The record

dict.c in libxml2 allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via an unexpected character immediately after the "<!DOCTYPE html" substring in a crafted HTML document.

Affected packages

Ecosystem Package Introduced Fixed
RubyGems nokogiri 1.6.0 1.6.8
Debian:11 libxml2 0 2.9.3+dfsg1-1.1
Debian:12 libxml2 0 2.9.3+dfsg1-1.1
Debian:13 libxml2 0 2.9.3+dfsg1-1.1
Debian:7 libxml2 0 2.8.0+dfsg1-7+wheezy6
Debian:8 libxml2 0 2.9.1+dfsg1-5+deb8u2
Mageia:5 libxml2 0 2.9.4-1.1.mga5
SUSE:Linux Enterprise Desktop 12 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Desktop 12 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Desktop 12 SP1 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Desktop 12 SP1 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server 11 SP2-LTSS libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Server 11 SP2-LTSS libxml2-python 0 2.7.6-0.44.4
SUSE:Linux Enterprise Server 11 SP3-LTSS libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Server 11 SP3-LTSS libxml2-python 0 2.7.6-0.44.4
SUSE:Linux Enterprise Server 11 SP3-TERADATA libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Server 11 SP3-TERADATA libxml2-python 0 2.7.6-0.44.4
SUSE:Linux Enterprise Server 11 SP4 libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Server 11 SP4 libxml2-python 0 2.7.6-0.44.4
SUSE:Linux Enterprise Server 12 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server 12 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server 12 SP1 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server 12 SP1 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 libxml2-python 0 2.7.6-0.44.4
SUSE:Linux Enterprise Server for SAP Applications 12 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server for SAP Applications 12 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 python-libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 libxml2 0 2.7.6-0.44.1
SUSE:Linux Enterprise Software Development Kit 12 libxml2 0 2.9.1-24.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 libxml2 0 2.9.1-24.1
SUSE:Manager 2.1 libxml2 0 2.7.6-0.44.1
SUSE:Manager 2.1 libxml2-python 0 2.7.6-0.44.4
SUSE:Manager Proxy 2.1 libxml2 0 2.7.6-0.44.1
SUSE:Manager Proxy 2.1 libxml2-python 0 2.7.6-0.44.4
SUSE:OpenStack Cloud 5 libxml2 0 2.7.6-0.44.1
SUSE:OpenStack Cloud 5 libxml2-python 0 2.7.6-0.44.4
Ubuntu:14.04:LTS libxml2 0 2.9.1+dfsg1-3ubuntu4.8
Ubuntu:16.04:LTS libxml2 0 2.9.3+dfsg1-1ubuntu0.1

Related vulnerabilities