Bug 1797608 (CVE-2019-20446)

Summary: CVE-2019-20446 librsvg: Resource exhaustion via crafted SVG file with nested patterns
Product: [Other] Security Response Reporter: Pedro Sampaio <psampaio>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: 0xalen+redhat, anto.trande, caillon+fedoraproject, cschalle, elxreno, erack, gecko-bugs-nobody, gecko-bugs-nobody, gnome-sig, igor.raits, jhorak, john.j5live, kengert, mclasen, otte, pjasicek, rhughes, rstrode, sandmann, stransky, tpopela, yaneti
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: librsvg 2.46.2 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:24:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1797609, 1797610, 1797611, 1797613, 1797614, 1804518, 1804519    
Bug Blocks: 1797612    

Description Pedro Sampaio 2020-02-03 13:57:02 UTC
In xml.rs in GNOME librsvg before 2.46.2, a crafted SVG file with nested patterns can cause denial of service when passed to the library for processing. The attacker constructs pattern elements so that the number of final rendered objects grows exponentially.

Upstream issue:

https://gitlab.gnome.org/GNOME/librsvg/issues/515

Comment 1 Pedro Sampaio 2020-02-03 13:57:54 UTC
Created chromium tracking bugs for this issue:

Affects: epel-all [bug 1797611]
Affects: fedora-all [bug 1797610]


Created firefox tracking bugs for this issue:

Affects: fedora-all [bug 1797613]


Created librsvg2 tracking bugs for this issue:

Affects: fedora-all [bug 1797609]


Created thunderbird tracking bugs for this issue:

Affects: fedora-all [bug 1797614]

Comment 2 Huzaifa S. Sidhpurwala 2020-02-18 10:37:23 UTC
Upstream commit: https://gitlab.gnome.org/GNOME/librsvg/commit/572f95f739529b865e2717664d6fefcef9493135

Comment 5 Huzaifa S. Sidhpurwala 2020-02-19 03:56:46 UTC
Statement:

This flaw is similar to billion laughs. A specially-crafted XML file can cause librsvg to consume excessive memory and result in denial of service. This flaw also affects browsers. Currently Mozilla and Google are working on updates for Firefox and Chromium browser respectively.

Comment 6 Huzaifa S. Sidhpurwala 2020-02-19 04:03:06 UTC
Mitigation:

This flaw is triggered when untrusted XML files are parsed with applications compiled with librsvg2 library. Applications which do not parse untrusted XML files are not affected by this flaw.

Comment 11 Doran Moppert 2020-10-02 02:57:03 UTC
Marked Firefox and Thunderbird as "Will not fix":  the reproducers on upstream bug still consume vast amounts of memory in current versions, but there seems to be no intention there to apply a fix.  In my tests I was able to close the affected tab and restore operation so the impact is not permanent, but it will deny service to the tab that loads the svg.

Comment 12 Doran Moppert 2020-10-02 02:59:35 UTC
Upstream chromium bug is closed as "wontfix": https://bugs.chromium.org/p/chromium/issues/detail?id=617891 - similar situation to Mozilla: denial of service to the impacted tab, but that tab can be closed and service restored.

Comment 13 Product Security DevOps Team 2020-11-04 02:24:10 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2019-20446

Comment 14 errata-xmlrpc 2020-11-04 03:11:40 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2020:4709 https://access.redhat.com/errata/RHSA-2020:4709