SumatraPDF is a multi-format reader for Windows. Prior to 3.6, the MobiDoc::ParseHeader function in src/MobiDoc.cpp validates a record using kMobiHeaderMinLen but DecodeMobiDocHeader constructs a decoder sized for kMobiHeaderLen without receiving the actual remaining buffer length. A malformed MOBI file can use an attacker-controlled header length to bypass optional-field early returns and cause the decoder to read beyond a short heap buffer. Opening the crafted document can crash SumatraPDF. This issue is fixed in version 3.6.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26054.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.6"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-26054.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"185646796427093350450890065906962988723",
"243070781759185444161269719353536674736",
"308996914305551559849290795745651728438",
"100373262830746519796852831687471025713",
"117247963219588739678613676312000379441",
"266205336259815010470995742258482616136",
"135285848865964563041555110705569359291",
"268704177106015996712611081557011156192",
"46894215144250998768386530072674305039",
"16534193881323356379101028038194153944",
"26053092189089820110733690051783168817",
"206108745688902702008402353953648555250",
"57695495727463019717499310688233868972",
"46030884641734954648147176182725126308",
"221586754141431275444763942806758830731",
"152676865528002149235166417091905385220",
"215962587113676591190801786072194594906"
],
"threshold": 0.9
},
"id": "CVE-2026-26054-15f564e0",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/sumatrapdfreader/sumatrapdf/commit/24b9ce83383bbaa48b3efe00e4d30cccea126198",
"target": {
"file": "src/MobiDoc.cpp"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"203367953200486349390816966114740057067",
"317812094337942261380818735084580071743",
"132034911448496112507684314363438130350",
"24687248169840831897595657016925486454",
"17299853333134024643525916022743327067",
"321345430374346042347558237120481070947",
"262247941185871653504225247979967179675",
"203602123917659993290282641638100586430",
"319694734599401430925459008001053404909",
"112263597672534007598943368268685352709",
"211905149650058363085128990357330004706",
"173531592578407863765515380620368370274",
"121781956140594354765335640341003624331"
],
"threshold": 0.9
},
"id": "CVE-2026-26054-6849277a",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/sumatrapdfreader/sumatrapdf/commit/b9732699d403ccb41f1135e0bd7f425c475e7689",
"target": {
"file": "src/CrashHandler.cpp"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "272351805133989603039436142373483039084",
"length": 2114
},
"id": "CVE-2026-26054-c2f36a29",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/sumatrapdfreader/sumatrapdf/commit/24b9ce83383bbaa48b3efe00e4d30cccea126198",
"target": {
"file": "src/MobiDoc.cpp",
"function": "DecodeMobiDocHeader"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "45385335526189619873983992342858613800",
"length": 1317
},
"id": "CVE-2026-26054-cbe35cf0",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/sumatrapdfreader/sumatrapdf/commit/b9732699d403ccb41f1135e0bd7f425c475e7689",
"target": {
"file": "src/CrashHandler.cpp",
"function": "_uploadDebugReport"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "65871902609710388966005315545789404786",
"length": 3382
},
"id": "CVE-2026-26054-e9cab98f",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/sumatrapdfreader/sumatrapdf/commit/24b9ce83383bbaa48b3efe00e4d30cccea126198",
"target": {
"file": "src/MobiDoc.cpp",
"function": "MobiDoc::ParseHeader"
}
}
]
"2026-09-30T08:06:03Z"