Closed
Bug 1190036
Opened 10 years ago
Closed 10 years ago
clipboardData.getFilesAndDirectories() crash
Categories
(Core :: DOM: Core & HTML, defect)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla43
Tracking | Status | |
---|---|---|
firefox41 | --- | unaffected |
firefox42 | --- | fixed |
firefox43 | --- | fixed |
firefox-esr38 | --- | unaffected |
People
(Reporter: jruderman, Assigned: baku)
References
Details
(4 keywords)
Attachments
(3 files, 1 obsolete file)
226 bytes,
text/html
|
Details | |
4.92 KB,
text/plain
|
Details | |
2.24 KB,
patch
|
ritu
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
Assertion failure: value, at BindingUtils.h:937
Reporter | ||
Comment 1•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Group: core-security
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → amarchesini
Assignee | ||
Comment 2•10 years ago
|
||
Attachment #8650989 -
Flags: review?(bugs)
Comment 3•10 years ago
|
||
Comment on attachment 8650989 [details] [diff] [review]
crash.patch
We need this on aurora too, right?
> if (!mFiles) {
>+ aRv.Throw(NS_ERROR_FAILURE);
> return nullptr;
> }
This is wrong, I mean the returning null (and now also throwing the exception). Please file a followup bug to fix.
or fix in this bug.
It is ok mFiles to be null and the spec says
"if no files or directories were chosen, returns a Promise resolved with an empty sequence."
Attachment #8650989 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 4•10 years ago
|
||
Comment on attachment 8650989 [details] [diff] [review]
crash.patch
Approval Request Comment
[Feature/regressing bug #]: bug 1164310
[User impact if declined]: a crash.
[Describe test coverage new/current, TreeHerder]: No test.
[Risks and why]: The patch just adds an exception. No risks at all.
[String/UUID change made/needed]: none
[Security approval request comment]
How easily could an exploit be constructed based on the patch?
Too easy. 1 line. Test included.
Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem?
Yes. The test shows the error clearly.
Which older supported branches are affected by this flaw?
aurora.
If not all supported branches, which bug introduced the flaw?
bug 1164310
Do you have backports for the affected branches? If not, how different, hard to create, and risky will they be?
How likely is this patch to cause regressions; how much testing does it need?
Attachment #8650989 -
Flags: sec-approval?
Attachment #8650989 -
Flags: approval-mozilla-aurora?
Comment 5•10 years ago
|
||
> [Security approval request comment]
> How easily could an exploit be constructed based on the patch?
>
> Too easy. 1 line. Test included.
The crashes I see seem to be a null dereference. How would this be exploited?
> Do comments in the patch, the check-in comment, or tests included in the
> patch paint a bulls-eye on the security problem?
>
> Yes. The test shows the error clearly.
Are you checking in the test? I don't see it in the patch.
Blocks: 1164310
status-firefox41:
--- → unaffected
status-firefox43:
--- → affected
status-firefox-esr38:
--- → unaffected
Flags: needinfo?(amarchesini)
Keywords: regression
Assignee | ||
Comment 6•10 years ago
|
||
crashtest included, and sorry for the previous comment: I meant that it's easy to reproduce the crash, not to exploit it.
Flags: needinfo?(amarchesini)
Attachment #8651427 -
Flags: sec-approval?
Attachment #8651427 -
Flags: approval-mozilla-aurora?
Assignee | ||
Updated•10 years ago
|
Attachment #8650989 -
Attachment is obsolete: true
Attachment #8650989 -
Flags: sec-approval?
Attachment #8650989 -
Flags: approval-mozilla-aurora?
Comment 7•10 years ago
|
||
If this bug is guaranteed to be a null deref (as it appeared in my -very-minimal- testing) then we don't need to hide this bug or request sec-approval. If it _is_ potentially exploitable we wouldn't want to include the test until after we released the fix.
I assume those asserts are just regular debug-only asserts and don't actually protect us at runtime, but if we've forced asserts() on in release let me know if that's an important part of the patch.
Flags: needinfo?(amarchesini)
Assignee | ||
Comment 8•10 years ago
|
||
Yes, you are right. It's a null deref.
Flags: needinfo?(amarchesini)
Updated•10 years ago
|
Group: core-security
Updated•10 years ago
|
Attachment #8651427 -
Flags: sec-approval?
Assignee | ||
Comment 9•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/f90e2d3e63660fa660b641e7c8150071d6984797
Bug 1190036 - clipboardData.getFilesAndDirectories() should throw an exception when returning null, r=smaug
Comment 10•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
Comment 11•10 years ago
|
||
Comment on attachment 8651427 [details] [diff] [review]
crash.patch
The patch looks safe and has an automated test. It has been in Nightly for a few days. Let's uplift to Aurora42 as it's also a crash fix.
Attachment #8651427 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 12•10 years ago
|
||
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•