{"id":"CVE-2026-98043","revision":"ab09dba27e664fe788e2b5da78862af5","records":[{"revision":"ab09dba27e664fe788e2b5da78862af5","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-98043","aliases":[],"title":"bpf: Don't infer non-NULL from a pointer with an unbounded offset","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Don't infer non-NULL from a pointer with an unbounded offset\n\nreg_not_null() decides that a register holds a non-NULL value by\nlooking at its type alone. For pointer types that allow arithmetic the\ntype only guarantees a non-NULL base, in case of an unbound offset\nthe runtime offset value might still add up to NULL.\nConsider the followng program:\n\n  r6 = bpf_map_lookup_elem(map, &0);  /* present */\n  if (r6 == 0) return 0;\n  r7 = bpf_map_lookup_elem(map, &1);  /* absent, NULL at runtime */\n  r8 = r7;\n  r8 -= r6;     /* pointer - pointer: unknown scalar, -r6 */\n  r8 <<= 1;\n  r8 >>= 1;     /* any non-negative offset is accepted by */\n                /* check_reg_sane_offset_ptr() */\n  r6 += r8;     /* verifier: map value;    runtime: zero  */\n  if (r7 != r6) return 0;\n  *(u8 *)(r7 + 0);  /* r7 is inferred non-NULL, both are zero */\n\nAt runtime both registers are zero, the comparison is true and the\nload faults with NULL pointer dereference.\n\nRequire the offset to be within +-BPF_MAX_VAR_OFF in reg_not_null().","state":0,"publishedAt":"2026-09-25T10:23:54.865+00:00","modifiedAt":"2026-10-21T12:54:11.75+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                        \"kernel/bpf/verifier.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"cac616db39c207dc63465a4e05c6ce0e60b2cce4\",\n                            \"lessThan\": \"8b414dbe97fcefd116e5a620c3bd9993014aa4ce\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"cac616db39c207dc63465a4e05c6ce0e60b2cce4\",\n                            \"lessThan\": \"019d845a08b8ccfe8eefaaf4bca6870f2b8c58ae\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"cac616db39c207dc63465a4e05c6ce0e60b2cce4\",\n                            \"lessThan\": \"65bea674f43c09c0eda033a140dfac6a2842a19f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"cac616db39c207dc63465a4e05c6ce0e60b2cce4\",\n                            \"lessThan\": \"cb6642048739bf4ee5aa09fe465511f1e87caa63\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"cac616db39c207dc63465a4e05c6ce0e60b2cce4\",\n                            \"lessThan\": \"67b529f521a6676cdfc78b91b0217d7eaa84216b\",\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                        \"kernel/bpf/verifier.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.8\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.8\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.160\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.114\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.7\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/8b414dbe97fcefd116e5a620c3bd9993014aa4ce","https://git.kernel.org/stable/c/019d845a08b8ccfe8eefaaf4bca6870f2b8c58ae","https://git.kernel.org/stable/c/65bea674f43c09c0eda033a140dfac6a2842a19f","https://git.kernel.org/stable/c/cb6642048739bf4ee5aa09fe465511f1e87caa63","https://git.kernel.org/stable/c/67b529f521a6676cdfc78b91b0217d7eaa84216b"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98043","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-98043","identifiers":["CVE-2026-98043"]},"retained":false,"historicalAffected":[]}],"coverage":[]}