Closed Bug 2038695 Opened 5 months ago Closed 5 months ago

Validate IsKnownForChildID in more places

Categories

(Core :: IPC, defect, P1)

defect

Tracking

()

RESOLVED FIXED
153 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr140 --- wontfix
firefox150 --- wontfix
firefox151 --- wontfix
firefox152 + fixed
firefox153 + fixed

People

(Reporter: nika, Assigned: nika)

References

Details

(Keywords: csectype-priv-escalation, sec-moderate, Whiteboard: [adv-main152+r])

Attachments

(4 external files)

There are a few places in core APIs where we don't use MaybeDiscardedBrowsingContext for various reasons, which means those callers don't get the automatic checks from bug 2008912. We should change those places to re-add those checks.

Attached file (secure) —
Attached file (secure) —
Group: core-security → dom-core-security
Severity: S1 → S2
Priority: P1 → --

I guessed sec-moderate because it sounded like a spin-off of bug 2008912, but maybe this should be sec-high like the see-also bug 2038573?

Flags: needinfo?(continuation)

It really depends on the specific uses. The JS actors fixed by Nika's other bug are very scary and should not be run in a web content process, which is why those are so bad. At the mildest, this is just like a site isolation bypass. I'm not sure how bad these specific fixes are. Maybe with BrowserBridgeParent you could get or send graphics from another site? Eh doesn't seem too terrible, maybe.

Flags: needinfo?(continuation)

Ah, okay. BrowserParent::RecvNewWindowGlobal is specifically called out in bug 2038573 as failing to do this check that the patch is adding (step 4).

There are some r+ patches which didn't land and no activity in this bug for 1 week.
:nika, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.

Flags: needinfo?(nika)
Flags: needinfo?(bvandersloot)
Flags: needinfo?(nika)
Flags: needinfo?(bvandersloot)
Group: dom-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch

The patch landed in nightly and beta is affected.
:nika, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(nika)
Attachment #9591074 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined/Reason for urgency: Extra validation on methods around BrowsingContext to ensure that a BC which the process should not know about is not named.

This is more of a defence in depth. I don't know ottomh if there's anything exploitable being prevented here. It's probably OK if we choose not to take this in beta.

  • Code covered by automated testing?: yes
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: Fairly straightforward check being added to some IPC receive call-sites.
  • String changes made/needed?: None
  • Is Android affected?: yes
Attachment #9591075 - Flags: approval-mozilla-beta?
Attachment #9591074 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9591075 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [sec] [uplift] [qa-triage-done-c153/b152]
Flags: needinfo?(nika)
Whiteboard: [adv-main152+r]
Whiteboard: [adv-main152+r] → [adv-main152+r][adv-esr140.12+r]
Whiteboard: [adv-main152+r][adv-esr140.12+r] → [adv-main152+r]
Whiteboard: [adv-main152+r] → [adv-main152+r][adv-esr140.12+]
Whiteboard: [adv-main152+r][adv-esr140.12+] → [adv-main152+r][adv-esr140.12+r]
Whiteboard: [adv-main152+r][adv-esr140.12+r] → [adv-main152+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: