Closed Bug 1656067 Opened 5 years ago Closed 5 years ago

SUMMARY: ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsAutoRef.h:566:16 in own

Categories

(Core :: Audio/Video: MediaStreamGraph, defect, P3)

defect

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox-esr68 --- wontfix
firefox-esr78 --- wontfix
firefox78 --- wontfix
firefox79 --- wontfix
firefox80 --- wontfix
firefox81 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: padenot)

References

Details

(Keywords: csectype-race, sec-moderate, Whiteboard: [post-critsmash-triage][adv-main81+r])

Attachments

(1 file)

Group: core-security

This kind of signature with a race on an nsAutoRef involved could be potentially dangerous.

Yeah, this is pretty unsafe.

Flags: needinfo?(padenot)
Assignee: nobody → padenot
Flags: needinfo?(padenot)
Attached file Bug 1656067 - r?karlt
Group: core-security → media-core-security

The set once and delete when unreferenced nature of the variable here removes the UaF risk associated with nsAutoRef races. There are still the usual undefined behavior characteristics.

Comment on attachment 9167009 [details]
Bug 1656067 - r?karlt

Security Approval Request

  • How easily could an exploit be constructed based on the patch?: https://bugzilla.mozilla.org/show_bug.cgi?id=1656067#c5 explains the setup here. There is a single store from a thread (from nullptr to a valid pointer value). The windows to cause trouble is very very small. It's however reasonably clear what happens here for a reader of the patch
  • Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem?: Yes
  • Which older supported branches are affected by this flaw?: all
  • If not all supported branches, which bug introduced the flaw?: None
  • Do you have backports for the affected branches?: Yes
  • If not, how different, hard to create, and risky will they be?: This backports cleanly.
  • How likely is this patch to cause regressions; how much testing does it need?:
Attachment #9167009 - Flags: sec-approval?

Comment on attachment 9167009 [details]
Bug 1656067 - r?karlt

Approved to land. If uplift is warranted (it seems from c5 this isn't likely exploitable?) feel free to request.

Attachment #9167009 - Flags: sec-approval? → sec-approval+
Group: media-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch

Doesn't seem like this is worth taking on ESR68 given its upcoming EOL, but uplifting to Beta/ESR78 seems reasonable. Please nominate for approval if you agree.

Changing the priority to p1 as the bug is tracked by a release manager for the current beta.
See What Do You Triage for more information

Priority: P5 → P1

(In reply to Ryan VanderMeulen [:RyanVM] from comment #9)

Doesn't seem like this is worth taking on ESR68 given its upcoming EOL, but uplifting to Beta/ESR78 seems reasonable. Please nominate for approval if you agree.

I don't think it's worth it.

Flags: needinfo?(padenot)
Flags: qe-verify-
Whiteboard: [post-critsmash-triage]
Whiteboard: [post-critsmash-triage] → [post-critsmash-triage][adv-main81+r]
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: