{"id":"CVE-2026-99274","revision":"47421eb759be41e1b0f977075011cd5f","records":[{"revision":"47421eb759be41e1b0f977075011cd5f","observedAt":"2026-11-07T16:07:43.282+00:00","statement":{"source":"cve-program","id":"CVE-2026-99274","aliases":[],"title":"smb: client: fix fiemap wild read on empty truncated response","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsmb: client: fix fiemap wild read on empty truncated response\n\nsmb3_fiemap() treats -E2BIG from SMB2_ioctl() as a truncated range blob\nand loops for the next chunk. If the server reports\nSTATUS_BUFFER_OVERFLOW with OutputCount == 0, SMB2_ioctl() returns\n-E2BIG with out_data == NULL and out_data_len == 0, and the existing\nlength checks accept the empty result. The loop then evaluates\n\n\tnext = out_data[num - 1].file_offset + ...\n\nwith num == 0, reading 16 bytes before NULL.\n\nReject a truncated range blob that contains no range, so the resume\noffset is never computed from an empty response. Also require the last\nrange in a truncated blob to advance the resume offset without\noverflowing, and to stay within the requested range; a malicious or\nbroken server could otherwise make no progress or underflow len and loop\nforever. Free the previous response buffer before retrying.\n\nReproduced on 6.6.87.2 with a malicious SMB2 server that answers\nFSCTL_QUERY_ALLOCATED_RANGES with STATUS_BUFFER_OVERFLOW and\nOutputCount == 0; an FS_IOC_FIEMAP ioctl on the mount oopses in\ncifs_fiemap() with CR2 = fffffffffffffff8. The code path is unchanged\non mainline.","state":0,"publishedAt":"2026-11-07T14:08:45.924+00:00","modifiedAt":"2026-11-07T14:08:45.924+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/smb/client/smb2ops.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4\",\n                            \"lessThan\": \"4a426ca5be7e3dedbe76575b967db04fbf01136f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4\",\n                            \"lessThan\": \"31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"2f3ebaba13cebd8badfb9aed31c0cf3cc82eb4f4\",\n                            \"lessThan\": \"f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"fs/smb/client/smb2ops.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.2\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.2\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.61\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3.2\",\n                            \"lessThanOrEqual\": \"7.3.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.4-rc1\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/4a426ca5be7e3dedbe76575b967db04fbf01136f","https://git.kernel.org/stable/c/31f6dbb29fe17fa9595c7e8b19fd92915b03a4ca","https://git.kernel.org/stable/c/f5baa17a0f316c235d61623ac8e8fb32c2b3c0cc"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99274","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-99274","identifiers":["CVE-2026-99274"]},"retained":false,"historicalAffected":[]}],"coverage":[]}