CVE-2023-29532
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Jun 19, 2023
CISA due date
—
Cloudanix analysis
A Windows user with local access could trick Mozilla programs into installing harmful software by swapping files during the update process.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Application
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in the Mozilla Maintenance Service on Windows allows a local attacker to replace a signed update file with an unsigned one after signature verification but before application, because file write-locks do not function correctly against SMB shares.
Why it matters to the business
Attackers with local access on Windows systems can force installation of arbitrary code through the update mechanism, potentially leading to persistent unauthorized control of affected Mozilla applications and the underlying host.
How an attack unfolds
An attacker with local system access configures the Maintenance Service to fetch an update from a malicious SMB server. After the service verifies the signature on the initial file, the attacker replaces the file on the share before the service applies it, bypassing signature enforcement due to the ineffective write-lock.
How to fix it
Upgrade Firefox to version 112 or later, Firefox ESR to 102.10 or later, and Thunderbird to 102.10 or later. Ensure the Mozilla Maintenance Service is running the patched version on all Windows endpoints.
How to confirm the fix worked
Confirm installed versions meet or exceed the fixed releases listed above and verify that update operations no longer accept files from untrusted SMB locations without proper locking.
Typical attack path
- Obtain local system access on a Windows host running an affected Mozilla product
- Place a legitimately signed update file on a controlled SMB share
- Point the Mozilla Maintenance Service at the malicious SMB path
- Replace the file with unsigned malicious content after signature check completes
- Allow the service to apply the tampered update and execute attacker code
How to detect it
Review Windows event logs and Mozilla Maintenance Service logs for update operations sourcing from SMB paths or unexpected file modifications between signature verification and application; look for process anomalies during update execution.
What your security team should do
- Prioritize patching all Windows installations of Firefox, Firefox ESR, and Thunderbird to the fixed versions
- Restrict local user ability to modify Maintenance Service configuration or point it at untrusted network paths
- Monitor for unusual update activity originating from SMB shares in endpoint logs
The record
A local attacker can trick the Mozilla Maintenance Service into applying an unsigned update file by pointing the service at an update file on a malicious SMB server. The update file can be replaced after the signature check, before the use, because the write-lock requested by the service does not work on a SMB server. *Note: This attack requires local system access and only affects Windows. Other operating systems are not affected.* This vulnerability affects Firefox < 112, Firefox ESR < 102.10, and Thunderbird < 102.10.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| SUSE:Enterprise Storage 7 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| SUSE:Linux Enterprise Real Time 15 SP3 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | MozillaFirefox | 0 | 102.10.0-150000.150.82.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| SUSE:OpenStack Cloud 9 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| SUSE:OpenStack Cloud Crowbar 9 | MozillaFirefox | 0 | 102.10.0-112.156.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| 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:Leap 15.4 | MozillaFirefox | 0 | 102.10.0-150200.152.84.1 |
| openSUSE:Leap 15.4 | MozillaThunderbird | 0 | 102.10.1-150200.8.113.2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 112.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 102.10.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2023-4575 When creating a callback over IPC for showing the File Picker window, multiple of the… Also affects MozillaFirefox
- CVE-2023-4585 Memory safety bugs present in Firefox 116, Firefox ESR 115.1, and Thunderbird 115.1. Also affects MozillaFirefox
- CVE-2023-4576 On Windows, an integer overflow could occur in `RecordedSourceSurfaceCreation` which… Also affects MozillaFirefox
- CVE-2023-4583 When checking if the Browsing Context had been discarded in `HttpBaseChannel`, if the… Also affects MozillaFirefox
- CVE-2023-4580 Push notifications stored on disk in private browsing mode were not being encrypted… Also affects MozillaFirefox
- CVE-2023-4581 Excel `.xll` add-in files did not have a blocklist entry in Firefox's executable… Also affects MozillaFirefox
- CVE-2023-4574 When creating a callback over IPC for showing the Color Picker window, multiple of the… Also affects MozillaFirefox
- CVE-2023-4578 When calling `JS::CheckRegExpSyntax` a Syntax Error could have been set which would end… Also affects MozillaFirefox