The default bug view has changed. See this FAQ.

Crash [@ txExecutionState::~txExecutionState]

RESOLVED FIXED in mozilla1.9.2

Status

()

Core
XSLT
--
critical
RESOLVED FIXED
8 years ago
6 years ago

People

(Reporter: Paul Nickerson, Assigned: peterv)

Tracking

(Blocks: 1 bug, 4 keywords)

Trunk
mozilla1.9.2
x86
Windows XP
crash, testcase, verified1.9.0.18, verified1.9.1
Points:
---
Bug Flags:
blocking1.9.2 +
blocking1.9.0.18 +
wanted1.9.0.x +

Firefox Tracking Flags

(status1.9.2 beta4-fixed, blocking1.9.1 .8+, status1.9.1 .8-fixed)

Details

(Whiteboard: [sg:critical?], crash signature)

Attachments

(4 attachments, 3 obsolete attachments)

(Reporter)

Description

8 years ago
Created attachment 412043 [details]
testcase (don't load from bugzilla)

Load the testcase and refresh if it doesn't crash right away. EIP is sometimes different, especially when extra fluff is added to the transform and to the original document, so IMO this is exploitable.
(Reporter)

Comment 1

8 years ago
Created attachment 412044 [details]
stack
(Reporter)

Comment 2

8 years ago
WFM unless I save the file locally then open it.
Attachment #412043 - Attachment description: testcase → testcase (don't load from bugzilla)
Keywords: crash, testcase
Whiteboard: [sg:critical?]
(Reporter)

Updated

8 years ago
Blocks: 528561
(Assignee)

Comment 3

8 years ago
Created attachment 412409 [details] [diff] [review]
v1

Still need to add the crashtest.
Assignee: nobody → peterv
Status: NEW → ASSIGNED
(Assignee)

Comment 4

8 years ago
Created attachment 412413 [details] [diff] [review]
v1
Attachment #412409 - Attachment is obsolete: true
(Assignee)

Updated

8 years ago
Duplicate of this bug: 528488
(Assignee)

Comment 6

8 years ago
I'll also add the crashtest from bug 528488.
(Assignee)

Comment 7

8 years ago
Created attachment 412490 [details] [diff] [review]
v1.1
Attachment #412413 - Attachment is obsolete: true
Attachment #412490 - Flags: review?(jonas)
(Reporter)

Comment 8

8 years ago
Comment on attachment 412490 [details] [diff] [review]
v1.1

I don't crash on this testcase or the one in bug 528488 with the patch applied.
Attachment #412490 - Flags: review+
Comment on attachment 412490 [details] [diff] [review]
v1.1

So why exactly are we crashing? Is the global-variable code ending up in a bad state or something?

While this patch seems like the right thing to do, I'm wondering if we could/should secure more code.

r=me anyhow
Attachment #412490 - Flags: review?(jonas) → review+
(Assignee)

Comment 10

8 years ago
We bail out early because of an error when trying to get the variable in txExecutionState::getVariable. We don't pop the result handler from the stack. We have code to deal with that, not deleting the unknown handler if an error happens (since the result handler stack will delete it). But evaluateToNumber eats the error return and so we do delete the unknown handler, and then the stacks tries to do that again.
Ah, and we can't pop these as we go up the callstack because it was push by a txInstruction and so we can't pop these guys off as we unwind.

Would be nice to get this more stable, but I can't think of a way to do so for now.
(Assignee)

Comment 12

8 years ago
Need this crash fix on branch (not yet landed on trunk, need blocking or approval first).
Flags: blocking1.9.2?
Flags: blocking1.9.2? → blocking1.9.2+
(Assignee)

Comment 13

7 years ago
Created attachment 413940 [details] [diff] [review]
v1.2

Turns out the testcase for bug 528488 exposed a small leak in txExecutionState::getVariable. This is what I landed.
Attachment #412490 - Attachment is obsolete: true
Attachment #413940 - Flags: review?(jonas)
(Assignee)

Comment 14

7 years ago
http://hg.mozilla.org/mozilla-central/rev/a727327f9777
http://hg.mozilla.org/releases/mozilla-1.9.2/rev/74188d9e9faf

I'll nominate for other branches too.
Status: ASSIGNED → RESOLVED
Last Resolved: 7 years ago
status1.9.2: --- → final-fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.2
Comment on attachment 413940 [details] [diff] [review]
v1.2

Would be nice if you could diff with -u8

r=me
Attachment #413940 - Flags: review?(jonas) → review+
(Assignee)

Comment 16

7 years ago
Comment on attachment 413940 [details] [diff] [review]
v1.2

XSLT crash fix.
Attachment #413940 - Flags: approval1.9.1.7?
Attachment #413940 - Flags: approval1.9.0.17?
blocking1.9.1: --- → .7+
status1.9.1: --- → wanted
Flags: wanted1.9.0.x+
Flags: blocking1.9.0.17+
Comment on attachment 413940 [details] [diff] [review]
v1.2

Approved for 1.9.1.7 and 1.9.0.17, a=dveditz for release-drivers
Attachment #413940 - Flags: approval1.9.1.7?
Attachment #413940 - Flags: approval1.9.1.7+
Attachment #413940 - Flags: approval1.9.0.17?
Attachment #413940 - Flags: approval1.9.0.17+
(Assignee)

Comment 18

7 years ago
http://hg.mozilla.org/releases/mozilla-1.9.1/rev/7bb736fa5f7a
status1.9.1: wanted → .7-fixed
Keywords: fixed1.9.0.17
Verified fixed in 1.9.1 with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.8pre) Gecko/20100115 Shiretoko/3.5.8pre (.NET CLR 3.5.30729). Attached testcase crashes in 1.9.1.7 but just shows "Error during XSLT transformation: XSLT Stylesheet (possibly) contains a recursion." in the 1.9.1 current nightly.
Keywords: verified1.9.1

Comment 20

7 years ago
Created attachment 423778 [details] [diff] [review]
1.8.0 version

Affects 1.8.0
Verified for 1.9.0.18 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.16pre) Gecko/2010020215 GranParadiso/3.0.18pre (.NET CLR 3.5.30729) with attached testcase. Results are the same as the 1.9.1.8 verification with a crash in 1.9.0.17 but an XSLT error in 1.9.0.18.
Keywords: fixed1.9.0.18 → verified1.9.0.18
Group: core-security
Crash Signature: [@ txExecutionState::~txExecutionState]
You need to log in before you can comment on or make changes to this bug.