Open Bug 798374 Opened 13 years ago Updated 11 months ago

SVG nested patterns allow exponential entity-expansion explosion, leading to hangs, arbitrarily-high memory usage & swapping, and eventual content-process crash

Categories

(Core :: SVG, defect)

defect

Tracking

()

People

(Reporter: bugreports, Unassigned)

References

()

Details

(6 keywords, Whiteboard: [in-the-wild] [external-report])

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0.1 Build ID: 20120905151427 Steps to reproduce: Loaded the attached file. Inspired by 'Billion Laughs' [1] the attached file contains an SVG pattern containing ten elements, each styled with an SVG pattern containing ten elements, each styled with an SVG pattern containing ten elements and so on for nine levels. [1] http://en.wikipedia.org/wiki/Billion_laughs Actual results: Nothing displays; the window stops repainting, CPU usage rises to 100% and I have to kill the browser. Expected results: An error message or something similar.
Component: Untriaged → SVG
Product: Firefox → Core
Opera suffers from this too. Does any existing UA produce such a message?
Not that I know of; chrome also has trouble, but with its process-per-tab architecture it doesn't lock up the entire browser.
Severity: normal → critical
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: hang, testcase
Keywords: perf
Whiteboard: [in-the-wild] [external-report]
Chromium 48 does not have this problem any more. Finally I got to see that image :-)
Keywords: crash

I am still able to reproduce the bug somehow but it never loads the attachment, I keeps loading and i have to close the tab
Tested on windows10 64bit with firefox release 89.0.2

QA Whiteboard: qa-not-actionable
Severity: critical → S2
Severity: S2 → S3
Duplicate of this bug: 1870544
OS: Windows XP → All
Hardware: x86 → All
Summary: SVG nested patterns allow entity expansion crash → SVG nested patterns allow entity expansion crash, leading to hangs, arbitrarily-high memory usage & swapping, and eventual content-process crash
Version: 15 Branch → Trunk
Summary: SVG nested patterns allow entity expansion crash, leading to hangs, arbitrarily-high memory usage & swapping, and eventual content-process crash → SVG nested patterns allow exponential entity-expansion explosion, leading to hangs, arbitrarily-high memory usage & swapping, and eventual content-process crash
See Also: → 455100
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: