CVE-2023-29549
Medium · 6.5CVSS
6.5
EPSS
0.3%
Published
Jun 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in certain web browsers could let specially crafted web pages slip past the safety barriers that keep untrusted scripts from accessing other information in the browser.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Application
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A call to the JavaScript bind function can resolve to an incorrect realm, allowing code running inside JavaScript-implemented sandboxes such as SES to obtain references outside the intended isolation boundary.
Why it matters to the business
Attackers may be able to bypass client-side isolation protections in affected browsers, increasing the chance that malicious web content can access or alter data it should not reach.
How an attack unfolds
An attacker serves a web page containing crafted JavaScript that invokes bind under conditions that trigger the realm mismatch; if the page is rendered in an SES-style sandbox the incorrect realm may expose privileged objects, enabling further actions such as reading cross-origin data or executing code with elevated privileges.
How to fix it
Upgrade Mozilla Firefox to version 112 or later and Mozilla Focus for Android to version 112 or later. Where immediate updates are not possible, restrict use of JavaScript sandboxes such as SES and apply browser content-blocking extensions.
How to confirm the fix worked
Confirm browser version is 112 or newer via the about:support page or equivalent; test that SES or similar sandbox libraries correctly isolate code after the upgrade.
Typical attack path
- Attacker hosts malicious page or injects script into a trusted site
- Victim opens the page in an affected Firefox or Focus build
- JavaScript executes and calls bind in a way that selects the wrong realm
- Sandbox isolation is violated, granting access to objects outside the intended compartment
- Attacker leverages the escape to perform unauthorized actions within the browser context
How to detect it
Review browser process logs and crash reports for unexpected realm transitions or sandbox violations; examine web server access logs for pages known to trigger bind-related behavior in vulnerable builds.
What your security team should do
- Prioritize deployment of Firefox 112+ and Focus 112+ across all managed endpoints
- Monitor EPSS and exploit maturity signals for any increase in observed activity
- Review reliance on client-side JavaScript sandboxes and consider server-side alternatives where feasible
The record
Under certain circumstances, a call to the <code>bind</code> function may have resulted in the incorrect realm. This may have created a vulnerability relating to JavaScript-implemented sandboxes such as SES. This vulnerability affects Firefox for Android < 112, Firefox < 112, and Focus for Android < 112.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | firefox | 0 | 112.0+build2-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 112.0+build2-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | mozjs78 | 0 | No fix |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 112.0.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2023-25736 An invalid downcast from `nsHTMLDocument` to `nsIContent` could have lead to undefined… Also affects firefox
- CVE-2023-25733 The return value from `gfx::SourceSurfaceSkia::Map()` wasn't being verified which could… Also affects firefox
- CVE-2023-32210 Documents were incorrectly assuming an ordering of principal objects when ensuring we… Also affects firefox
- CVE-2023-32216 Memory safety bugs present in Firefox 112. Also affects firefox
- CVE-2023-32209 A maliciously crafted favicon could have led to an out of memory crash. Also affects firefox
- CVE-2023-32208 Service workers could reveal script base URL due to dynamic `import()`. Also affects firefox
- CVE-2023-29551 Memory safety bugs present in Firefox 111. Also affects firefox
- CVE-2023-32207 A missing delay in popup notifications could have made it possible for an attacker to… Also affects firefox