One-bit memory disclosure via clobbered JIT register
Published Aug 17, 2021 · Updated Aug 3, 2024
Type confusion in the JIT engine in Mozilla Firefox and Thunderbird before 91 allows remote attackers to disclose one memory bit via crafted script. Ion code generation passes the same register for the object and output to MacroAssembler::isCallableOrConstructor, whose class check clobbers the object before the constructor-flag check reads it. User interaction with script-capable content is required; Thunderbird mail reading disables scripting, and Mozilla states that the one-bit behavior is not exploitable beyond disclosure.
Summary
What happened
Type confusion in the JIT engine in Mozilla Firefox and Thunderbird before 91 allows remote attackers to disclose one memory bit via crafted script. Ion code generation passes the same register for the object and output to MacroAssembler::isCallableOrConstructor, whose class check clobbers the object before the constructor-flag check reads it. User interaction with script-capable content is required; Thunderbird mail reading disables scripting, and Mozilla states that the one-bit behavior is not exploitable beyond disclosure.
The record
- CVE
- CVE-2021-29982
- Published
- Aug 17, 2021
- Updated
- Aug 3, 2024
- Vendor
- Mozilla
- Product
- Firefox
- Classifications
- CWE-772
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- Aug 17, 2021CVE publishedPublication date reported by the CVE source.
- Aug 3, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=unspecified <91
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Bug 1715318 differential test caseproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo