CVE-2024-2608
NoneCVSS
—
EPSS
0.4%
Published
Mar 19, 2024
CISA due date
—
Cloudanix analysis
A programming error in text-handling code inside popular web browsers and email programs could let an attacker take control of a user's computer when they visit a malicious webpage or open a harmful message.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflows in AppendEncodedAttributeValue(), ExtraSpaceNeededForAttrEncoding() and AppendEncodedCharacters() cause underallocation of an output buffer, resulting in an out-of-bounds write.
Why it matters to the business
Attackers may achieve remote code execution or cause crashes in widely used browsers and email clients, leading to potential data theft, system compromise, or operational disruption for end users and organizations.
How an attack unfolds
An attacker crafts malicious HTML, XML or text content containing specially chosen attribute values or characters that trigger the integer overflow during encoding, underallocating the destination buffer and enabling an out-of-bounds write that can be turned into arbitrary code execution.
How to fix it
Upgrade Firefox to 124 or later, Firefox ESR to 115.9 or later, and Thunderbird to 115.9 or later. Apply the fixed package versions supplied by your distribution when available.
How to confirm the fix worked
Confirm that installed browser and email client versions meet or exceed the fixed releases; re-test affected encoding paths with known triggering inputs after the update.
Typical attack path
- Serve malicious webpage or email attachment to a target user
- Trigger AppendEncodedAttributeValue, ExtraSpaceNeededForAttrEncoding or AppendEncodedCharacters with the crafted input
- Exploit the resulting out-of-bounds write to corrupt memory and execute attacker-controlled code
How to detect it
Review browser and Thunderbird crash reports for faults occurring inside the named encoding functions; correlate with access to suspicious external content in web or mail logs.
What your security team should do
- Immediately deploy the listed fixed versions across all Firefox, ESR and Thunderbird installations
- Prioritize user populations that handle untrusted web or email content
- Monitor Mozilla advisories for any follow-on updates
The record
`AppendEncodedAttributeValue(), ExtraSpaceNeededForAttrEncoding()` and `AppendEncodedCharacters()` could have experienced integer overflows, causing underallocation of an output buffer leading to an out of bounds write. This vulnerability affects Firefox < 124, Firefox ESR < 115.9, and Thunderbird < 115.9.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | firefox | 0 | 115.9.1-1.el8_9.alma.1 |
| AlmaLinux:8 | thunderbird | 0 | 115.9.0-1.el8_9.alma.1 |
| AlmaLinux:9 | firefox | 0 | 115.9.1-1.el9_3.alma.1 |
| AlmaLinux:9 | firefox-x11 | 0 | 115.9.1-1.el9_3.alma.1 |
| AlmaLinux:9 | thunderbird | 0 | 115.9.0-1.el9_3.alma.1 |
| Chainguard | firefox-esr | 0 | 115.9.1-r0 |
| Debian:10 | firefox-esr | 0 | 115.9.1esr-1~deb10u1 |
| Debian:10 | thunderbird | 0 | 1:115.9.0-1~deb10u1 |
| Debian:11 | firefox-esr | 0 | 115.9.0esr-1~deb11u1 |
| Debian:11 | thunderbird | 0 | 1:115.9.0-1~deb11u1 |
| Debian:12 | firefox-esr | 0 | 115.9.0esr-1~deb12u1 |
| Debian:12 | thunderbird | 0 | 1:115.9.0-1~deb12u1 |
| Debian:13 | firefox-esr | 0 | 115.9.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:115.9.0-1 |
| Mageia:9 | firefox | 0 | 115.9.1-1.mga9 |
| Mageia:9 | firefox-l10n | 0 | 115.9.1-1.mga9 |
| Mageia:9 | nss | 0 | 3.99.0-1.mga9 |
| Mageia:9 | thunderbird | 0 | 115.9.0-1.mga9 |
| Mageia:9 | thunderbird-l10n | 0 | 115.9.0-1.mga9 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:115.9.1-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:115.9.0-1.el7_9 |
| Red Hat:enterprise_linux:8::appstream | firefox | 0 | 0:115.9.1-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird | 0 | 0:115.9.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_9 |
| Red Hat:enterprise_linux:8::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_9 |
| Red Hat:enterprise_linux:9::appstream | firefox | 0 | 0:115.9.1-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | firefox-x11 | 0 | 0:115.9.1-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird | 0 | 0:115.9.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el9_3 |
| Red Hat:enterprise_linux:9::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el9_3 |
| Red Hat:rhel_aus:8.2::appstream | firefox | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_aus:8.2::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_aus:8.4::appstream | firefox | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_aus:8.4::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_e4s:8.2::appstream | firefox | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_e4s:8.2::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_e4s:8.4::appstream | firefox | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_e4s:8.4::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_eus:8.6::appstream | firefox | 0 | 0:115.9.1-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird | 0 | 0:115.9.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_6 |
| Red Hat:rhel_eus:8.6::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_6 |
| Red Hat:rhel_eus:8.8::appstream | firefox | 0 | 0:115.9.1-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird | 0 | 0:115.9.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_8 |
| Red Hat:rhel_eus:8.8::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_8 |
| Red Hat:rhel_eus:9.0::appstream | firefox | 0 | 0:115.9.1-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird | 0 | 0:115.9.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el9_0 |
| Red Hat:rhel_eus:9.0::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el9_0 |
| Red Hat:rhel_eus:9.2::appstream | firefox | 0 | 0:115.9.1-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | firefox-x11 | 0 | 0:115.9.1-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird | 0 | 0:115.9.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el9_2 |
| Red Hat:rhel_eus:9.2::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el9_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_tus:8.2::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_2 |
| Red Hat:rhel_tus:8.4::appstream | firefox | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debuginfo | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | firefox-debugsource | 0 | 0:115.9.1-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debuginfo | 0 | 0:115.9.0-1.el8_4 |
| Red Hat:rhel_tus:8.4::appstream | thunderbird-debugsource | 0 | 0:115.9.0-1.el8_4 |
| Rocky Linux:8 | firefox | 0 | 0:115.9.1-1.el8_9 |
| Rocky Linux:8 | thunderbird | 0 | 0:115.9.0-1.el8_9 |
| SUSE:Enterprise Storage 7.1 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | MozillaThunderbird | 0 | 115.9.0-150200.8.154.1 |
| SUSE:Linux Enterprise Server 12 SP5 | MozillaFirefox | 0 | 115.9.0-112.203.2 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | MozillaFirefox | 0 | 115.9.0-112.203.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | MozillaFirefox | 0 | 115.9.0-112.203.2 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | MozillaThunderbird | 0 | 115.9.0-150200.8.154.1 |
| Ubuntu:18.04:LTS | mozjs38 | 0 | No fix |
| Ubuntu:18.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | firefox | 0 | 124.0+build1-0ubuntu0.20.04.1 |
| Ubuntu:20.04:LTS | mozjs52 | 0 | No fix |
| Ubuntu:20.04:LTS | mozjs68 | 0 | No fix |
| Ubuntu:20.04:LTS | thunderbird | 0 | 1:115.9.0+build1-0ubuntu0.20.04.1 |
| Ubuntu:22.04:LTS | mozjs102 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs78 | 0 | No fix |
| Ubuntu:22.04:LTS | mozjs91 | 0 | No fix |
| Ubuntu:22.04:LTS | thunderbird | 0 | 1:115.9.0+build1-0ubuntu0.22.04.1 |
| Ubuntu:23.10 | thunderbird | 0 | 1:115.9.0+build1-0ubuntu0.23.10.1 |
| Ubuntu:24.04:LTS | mozjs102 | 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 |
| Ubuntu:Pro:24.04:LTS | mozjs102 | 0 | No fix |
| openSUSE:Leap 15.5 | MozillaFirefox | 0 | 115.9.1-150200.152.131.1 |
| openSUSE:Leap 15.5 | MozillaThunderbird | 0 | 115.9.0-150200.8.154.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 124.0.1-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 115.9.0-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2025-14331 Same-origin policy bypass in the Request Handling component. Also affects firefox
- CVE-2025-14325 JIT miscompilation in the JavaScript Engine: JIT component. Also affects firefox
- CVE-2025-14330 JIT miscompilation in the JavaScript Engine: JIT component. Also affects firefox
- CVE-2025-14333 Memory safety bugs present in Firefox ESR 140.5, Thunderbird ESR 140.5, Firefox 145 and… Also affects firefox
- CVE-2025-14328 Privilege escalation in the Netmonitor component. Also affects firefox
- CVE-2025-14329 Privilege escalation in the Netmonitor component. Also affects firefox
- CVE-2025-14323 Privilege escalation in the DOM: Notifications component. Also affects firefox
- CVE-2025-14321 Use-after-free in the WebRTC: Signaling component. Also affects firefox