fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot In the 'DeleteIndexEntryRoot' case of the 'do_action' function, the entry size ('esize') is retrieved from the log record without adequate bounds checking. Specifically, the code calculates the end of the entry ('e2') using: e2 = Add2Ptr(e1, esize); It then calculates the size for memmove using 'PtrOffset(e2, ...)', which subtracts the end pointer from the buffer limit. If 'esize' is maliciously large, 'e2' exceeds the used buffer size. This results in a negative offset which, when cast to size_t for memmove, interprets as a massive unsigned integer, leading to a heap buffer overflow. This commit adds a check to ensure that the entry size ('esize') strictly fits within the remaining used space of the index header before performing memory operations.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.15.202, 6.1.165, 6.12.75, 6.18.14, 6.19.4, 6.6.128
- CVEs
- CVE-2026-45935
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 00:36 UTC · Revision 1
Source evidence
fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot
core-osv · Original sourcePublished 27 May 2026, 12:17 UTC
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot In the 'DeleteIndexEntryRoot' case of the 'do_action' function, the entry size ('esize') is retrieved from the log record without adequate bounds checking. Specifically, the code calculates the end of the entry ('e2') using: e2 = Add2Ptr(e1, esize); It then calculates the size for memmove using 'PtrOffset(e2, ...)', which subtracts the end pointer from the buffer limit. If 'esize' is maliciously large, 'e2' exceeds the used buffer size. This results in a negative offset which, when cast to size_t for memmove, interprets as a massive unsigned integer, leading to a heap buffer overflow. This commit adds a check to ensure that the entry size ('esize') strictly fits within the remaining used space of the index header before performing memory operations.
osv:CVE-2026-45935
Kernel
Fixed versions: 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.14, 6.19.4
Complete source record
{
"id": "181abb9270cfbc46220154c32feb253d30ce51324416696ebcb0d2bb49ce1531",
"url": "https://osv.dev/vulnerability/CVE-2026-45935",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot",
"summary": "In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot In the 'DeleteIndexEntryRoot' case of the 'do_action' function, the entry size ('esize') is retrieved from the log record without adequate bounds checking. Specifically, the code calculates the end of the entry ('e2') using: e2 = Add2Ptr(e1, esize); It then calculates the size for memmove using 'PtrOffset(e2, ...)', which subtracts the end pointer from the buffer limit. If 'esize' is maliciously large, 'e2' exceeds the used buffer size. This results in a negative offset which, when cast to size_t for memmove, interprets as a massive unsigned integer, leading to a heap buffer overflow. This commit adds a check to ensure that the entry size ('esize') strictly fits within the remaining used space of the index header before performing memory operations.",
"evidence": "osv:CVE-2026-45935",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.15.202",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.165",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.128",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.75",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.14",
"evidence": "/affected/1/ranges"
},
{
"value": "6.19.4",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "CVE-2026-45935",
"aliases": [
"CVE-2026-45935"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "b46acd6a6a627d876898e1c84d3f84902264b445"
},
{
"fixed": "36c03f7f177b34d51f1cf1d2304b1074607bf4b0"
},
{
"fixed": "b271c9cb85927210b1b799e55ee7f702d12b4336"
},
{
"fixed": "a584b9d1059b29e97e17c919274e9adfb846f2a0"
},
{
"fixed": "c065541b71b79874c83d418a9acd18ad5826339b"
},
{
"fixed": "78942172d5bff4d4afed8674abc09cc560ce44a0"
},
{
"fixed": "f3b437a4c3e022a1449658ae9f3dd34859894513"
},
{
"fixed": "b2bc7c44ed1779fc9eaab9a186db0f0d01439622"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45935.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.15.0"
},
{
"fixed": "5.15.202"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.165"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.128"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.75"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.14"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "6.19.4"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45935.json"
}
}
],
"modified": "2026-10-28T02:30:32.548000191Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/36c03f7f177b34d51f1cf1d2304b1074607bf4b0",
"https://git.kernel.org/stable/c/78942172d5bff4d4afed8674abc09cc560ce44a0",
"https://git.kernel.org/stable/c/a584b9d1059b29e97e17c919274e9adfb846f2a0",
"https://git.kernel.org/stable/c/b271c9cb85927210b1b799e55ee7f702d12b4336",
"https://git.kernel.org/stable/c/b2bc7c44ed1779fc9eaab9a186db0f0d01439622",
"https://git.kernel.org/stable/c/c065541b71b79874c83d418a9acd18ad5826339b",
"https://git.kernel.org/stable/c/f3b437a4c3e022a1449658ae9f3dd34859894513",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45935.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-45935",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45935.json"
}
},
"related_cves": [
{
"value": "CVE-2026-45935",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499353,
"published_at": "2026-05-27T12:17:52.705+00:00"
}