CVE-2018-12359
High · 8.8CVSS
8.8
EPSS
4.6%
Published
Oct 18, 2018
CISA due date
—
Cloudanix analysis
A problem handling changing image sizes inside an application can let an attacker crash the program or potentially take it over when a user views certain content.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Buffer overflow occurs during canvas rendering when height and width are adjusted dynamically, writing data outside computed boundaries and resulting in a potentially exploitable crash.
Why it matters to the business
Application instability or remote code execution risk can disrupt user workflows, require emergency patching across many systems, and expose organizations to data compromise or ransomware if exploited.
How an attack unfolds
An attacker supplies specially crafted content that triggers repeated canvas size changes during rendering; the resulting memory corruption allows control flow hijacking or denial of service. Although no named threat actors are recorded for this issue, the high CVSS and memory-corruption family make it attractive for targeted campaigns.
How to fix it
Upgrade affected products to the listed fixed versions: golang/go (GIT) at commit 4af7136fcf874e212d66c72178a68db969918b25. Apply vendor patches immediately given the 2912 days since publication and stable EPSS trend.
How to confirm the fix worked
Confirm the installed version matches or exceeds the fixed commit; re-test canvas rendering scenarios that previously caused crashes; monitor update logs for successful deployment.
Typical attack path
- Prepare malicious page or email containing dynamic canvas manipulation
- Deliver content via web or email to victim
- Victim renders the canvas element
- Trigger repeated height/width adjustments to overflow buffer
- Achieve crash or arbitrary code execution
How to detect it
Search application and system logs for unexpected crashes during canvas or image rendering; inspect memory dumps for out-of-bounds writes; correlate with inbound web or email content that manipulates canvas dimensions.
What your security team should do
- Prioritize patching all instances of affected products within the next 30 days
- Review and restrict rendering of untrusted canvas content until updates are applied
- Enable memory protection features such as ASLR and DEP where available
- Update detection rules to watch for related memory-corruption indicators
The record
A buffer overflow can occur when rendering canvas content while adjusting the height and width of the canvas element dynamically, causing data to be written outside of the currently computed boundaries. This results in a potentially exploitable crash. This vulnerability affects Thunderbird < 60, Thunderbird < 52.9, Firefox ESR < 60.1, Firefox ESR < 52.9, and Firefox < 61.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | firefox-esr | 0 | 52.9.0esr-1 |
| Debian:11 | thunderbird | 0 | 1:52.9.0-1 |
| Debian:12 | firefox-esr | 0 | 52.9.0esr-1 |
| Debian:12 | thunderbird | 0 | 1:52.9.0-1 |
| Debian:13 | firefox-esr | 0 | 52.9.0esr-1 |
| Debian:13 | thunderbird | 0 | 1:52.9.0-1 |
| Debian:8 | firefox-esr | 0 | 52.9.0esr-1~deb8u1 |
| Debian:8 | thunderbird | 0 | 1:52.9.1-1~deb8u1 |
| Debian:9 | firefox-esr | 0 | 52.9.0esr-1~deb9u1 |
| Debian:9 | thunderbird | 0 | 1:52.9.1-1~deb9u1 |
| Mageia:5 | nspr | 0 | 4.19-1.mga5 |
| Mageia:5 | nss | 0 | 3.28.6-1.4.mga5 |
| Mageia:5 | rootcerts | 0 | 20180411.00-1.mga5 |
| Mageia:5 | thunderbird | 0 | 52.9.1-1.mga5 |
| Mageia:5 | thunderbird-l10n | 0 | 52.9.1-1.mga5 |
| Mageia:6 | firefox | 0 | 52.9.0-1.mga6 |
| Mageia:6 | firefox-l10n | 0 | 52.9.0-1.mga6 |
| Mageia:6 | thunderbird | 0 | 52.9.1-1.mga6 |
| Mageia:6 | thunderbird | 0 | 60.3.3-3.mga6 |
| Mageia:6 | thunderbird-l10n | 0 | 52.9.1-1.mga6 |
| Mageia:6 | thunderbird-l10n | 0 | 60.3.3-1.mga6 |
| Red Hat:enterprise_linux:6::client | firefox | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::client | firefox-debuginfo | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::client | thunderbird | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:6::client | thunderbird-debuginfo | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:6::computenode | firefox | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::computenode | firefox-debuginfo | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::server | firefox | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::server | firefox-debuginfo | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::server | thunderbird | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:6::server | thunderbird-debuginfo | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:6::workstation | firefox | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::workstation | firefox-debuginfo | 0 | 0:60.1.0-5.el6 |
| Red Hat:enterprise_linux:6::workstation | thunderbird | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:6::workstation | thunderbird-debuginfo | 0 | 0:52.9.1-1.el6 |
| Red Hat:enterprise_linux:7::client | firefox | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::client | firefox-debuginfo | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::client | thunderbird | 0 | 0:52.9.1-1.el7_5 |
| Red Hat:enterprise_linux:7::client | thunderbird-debuginfo | 0 | 0:52.9.1-1.el7_5 |
| Red Hat:enterprise_linux:7::server | firefox | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::server | firefox-debuginfo | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::server | thunderbird | 0 | 0:52.9.1-1.el7_5 |
| Red Hat:enterprise_linux:7::server | thunderbird-debuginfo | 0 | 0:52.9.1-1.el7_5 |
| Red Hat:enterprise_linux:7::workstation | firefox | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::workstation | firefox-debuginfo | 0 | 0:60.1.0-4.el7_5 |
| Red Hat:enterprise_linux:7::workstation | thunderbird | 0 | 0:52.9.1-1.el7_5 |
| Red Hat:enterprise_linux:7::workstation | thunderbird-debuginfo | 0 | 0:52.9.1-1.el7_5 |
| SUSE:Enterprise Storage 4 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Desktop 12 SP3 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 | MozillaFirefox | 0 | 52.9.0esr-3.7.12 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server 12 SP3 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server 12-LTSS | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | MozillaFirefox | 0 | 52.9.0esr-72.38.6 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Linux Enterprise Workstation Extension 15 | MozillaThunderbird | 0 | 52.9.1-3.7.1 |
| SUSE:Linux Enterprise Workstation Extension 15 | MozillaThunderbird | 0 | 60.2.1-3.13.1 |
| SUSE:OpenStack Cloud 7 | MozillaFirefox | 0 | 52.9.0esr-109.38.2 |
| SUSE:Package Hub 12 | MozillaThunderbird | 0 | 60.3.0-74.2 |
| SUSE:Package Hub 15 | seamonkey | 0 | 2.49.4-bp150.3.3.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 61.0+build3-0ubuntu0.14.04.2 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:52.9.1+build3-0ubuntu0.14.04.1 |
| Ubuntu:16.04:LTS | firefox | 0 | 61.0+build3-0ubuntu0.16.04.2 |
| Ubuntu:16.04:LTS | thunderbird | 0 | 1:52.9.1+build3-0ubuntu0.16.04.1 |
| Ubuntu:18.04:LTS | firefox | 0 | 61.0+build3-0ubuntu0.18.04.1 |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:52.9.1+build3-0ubuntu0.18.04.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 92.0-1.2 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.1.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2025-0243 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 128.5, and… Also affects firefox-esr
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects firefox-esr
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects firefox-esr
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects firefox-esr
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects firefox-esr
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects firefox-esr
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects firefox-esr
- CVE-2024-11704 A double-free issue could have occurred in `sec_pkcs7_decoder_start_decrypt()` when… Also affects firefox-esr