Cloudanix VulnDB

CVE-2017-5029

High · 8.8

CVSS

8.8

EPSS

2.2%

Published

Apr 24, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A programming mistake in a web-page processing library could let attackers take control of a computer by sending a specially crafted web page.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow in xsltAddTextString during size calculation in libxslt 1.1.29 allows out-of-bounds memory write when processing crafted XSLT in HTML.

Why it matters to the business

Remote attackers could achieve code execution or denial of service in applications using the affected dagger packages, though the vulnerability is over seven years old with minimal modern exposure.

How an attack unfolds

An attacker sends a victim a crafted HTML page containing malicious XSLT; when the browser renders it, the missing overflow check in libxslt's transform logic corrupts memory and can lead to arbitrary code execution within the renderer process.

How to fix it

Upgrade dagger (Chainguard) to 0.10.1-r1 or later and dagger (Wolfi) to 0.10.1-r1 or later to obtain the patched libxslt.

How to confirm the fix worked

Confirm installed package versions meet or exceed the fixed releases; re-test rendering of known trigger HTML after upgrade.

Typical attack path

  1. Craft malicious HTML containing XSLT that triggers integer overflow in xsltAddTextString
  2. Host the page on an attacker-controlled site or deliver via phishing
  3. Victim browser loads and processes the page using vulnerable libxslt
  4. Overflow during size calculation writes beyond allocated buffer
  5. Corrupted memory enables control-flow hijacking or crash

How to detect it

Review web server and browser process logs for crashes during XSLT handling; search historical telemetry for requests containing unusual XSLT patterns that match the 2017-era trigger.

What your security team should do

  • Apply the specified package upgrades across all environments
  • Audit dependency trees for any remaining direct use of libxslt 1.1.29
  • Disable XSLT processing for untrusted content where feasible

The record

The xsltAddTextString function in transform.c in libxslt 1.1.29, as used in Blink in Google Chrome prior to 57.0.2987.98 for Mac, Windows, and Linux and 57.0.2987.108 for Android, lacked a check for integer overflow during a size calculation, which allowed a remote attacker to perform an out of bounds memory write via a crafted HTML page.

Affected packages

Ecosystem Package Introduced Fixed
RubyGems nokogiri 0 1.7.2
Alpine:v3.10 libxslt 0 1.1.29-r1
Alpine:v3.11 libxslt 0 1.1.29-r1
Alpine:v3.12 libxslt 0 1.1.29-r1
Alpine:v3.13 libxslt 0 1.1.29-r1
Alpine:v3.14 libxslt 0 1.1.29-r1
Alpine:v3.15 libxslt 0 1.1.29-r1
Alpine:v3.16 libxslt 0 1.1.29-r1
Alpine:v3.17 libxslt 0 1.1.29-r1
Alpine:v3.18 libxslt 0 1.1.29-r1
Alpine:v3.19 libxslt 0 1.1.29-r1
Alpine:v3.2 libxslt 0 1.1.29-r1
Alpine:v3.20 libxslt 0 1.1.29-r1
Alpine:v3.21 libxslt 0 1.1.29-r1
Alpine:v3.22 libxslt 0 1.1.29-r1
Alpine:v3.3 libxslt 0 1.1.29-r1
Alpine:v3.4 libxslt 0 1.1.29-r1
Alpine:v3.5 libxslt 0 1.1.29-r1
Alpine:v3.6 libxslt 0 1.1.29-r1
Alpine:v3.7 libxslt 0 1.1.29-r1
Alpine:v3.8 libxslt 0 1.1.29-r1
Alpine:v3.9 libxslt 0 1.1.29-r1
Debian:11 libxslt 0 1.1.29-2.1
Debian:12 libxslt 0 1.1.29-2.1
Debian:13 libxslt 0 1.1.29-2.1
Debian:7 libxslt 0 1.1.26-14.1+deb7u3
Debian:8 chromium-browser 0 57.0.2987.98-1~deb8u1
Mageia:5 chromium-browser-stable 0 57.0.2987.133-1.mga5
Mageia:5 libxslt 0 1.1.29-1.2.mga5
Red Hat:rhel_extras:6 chromium-browser 0 0:57.0.2987.98-1.el6
Red Hat:rhel_extras:6 chromium-browser-debuginfo 0 0:57.0.2987.98-1.el6
SUSE:Linux Enterprise Desktop 12 SP1 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Desktop 12 SP2 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Server 11 SP4 libxslt 0 1.1.24-19.33.1
SUSE:Linux Enterprise Server 12 SP1 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Server 12 SP2 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 libxslt 0 1.1.24-19.33.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 libxslt 0 1.1.24-19.33.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 libxslt-python 0 1.1.24-19.33.3
SUSE:Linux Enterprise Software Development Kit 12 SP1 libxslt 0 1.1.28-16.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 libxslt 0 1.1.28-16.1
SUSE:Package Hub 12 SP2 chromium 0 57.0.2987.98-8.1
Ubuntu:14.04:LTS chromium-browser 0 58.0.3029.81-0ubuntu0.14.04.1172
Ubuntu:14.04:LTS libxslt 0 1.1.28-2ubuntu0.1
Ubuntu:14.04:LTS oxide-qt 0 1.21.5-0ubuntu0.14.04.1
Ubuntu:16.04:LTS chromium-browser 0 57.0.2987.98-0ubuntu0.16.04.1276
Ubuntu:16.04:LTS libxslt 0 1.1.28-2.1ubuntu0.1
Ubuntu:16.04:LTS oxide-qt 0 1.21.5-0ubuntu0.16.04.1
openSUSE:Tumbleweed libxslt 0 1.1.34-3.2
openSUSE:Tumbleweed ruby3.2-rubygem-nokogiri 0 1.13.9-1.7
openSUSE:Tumbleweed rubygem-nokogiri 0 1.13.3-1.1
openSUSE:Tumbleweed rubygem-nokogiri 0 1.15.5-1.5
openSUSE:Tumbleweed rubygem-nokogiri 0 1.18.2-1.1
openSUSE:Tumbleweed rubygem-nokogiri 0 1.18.9-1.4

Related vulnerabilities