{"api_version":"1","generated_at":"2026-09-25T22:32:25+00:00","cve":"CVE-2026-98034","urls":{"html":"https://cve.report/CVE-2026-98034","api":"https://cve.report/api/cve/CVE-2026-98034.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98034","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98034"},"summary":{"title":"bpf: Mark NULL kptr stores precise","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Mark NULL kptr stores precise\n\ncheck_map_kptr_access() permits a scalar store into an untrusted kptr\nfield only when the register is known to contain zero. Unlike other\nverifier checks whose outcome depends on a scalar value, it does not mark\nthat register precise.\n\nA state checkpoint reached with an imprecise zero can therefore prune a\nsecond path that reaches the store with an arbitrary nonzero scalar. The\nprogram can write attacker-controlled bits into the kptr field and load\nthem back as a PTR_TO_BTF_ID.\n\nCall mark_chain_precision() before accepting a known-zero register. This\nforces state equivalence to compare its scalar range and makes the verifier\nvisit and reject a path carrying a nonzero value.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-09-25 11:17:32","updated_at":"2026-09-25 11:17:32"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/ecdc5043794c9184aa8e6c814603899479c46b35","name":"https://git.kernel.org/stable/c/ecdc5043794c9184aa8e6c814603899479c46b35","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/86168208737bdd267d92d855d453d1d2f840df19","name":"https://git.kernel.org/stable/c/86168208737bdd267d92d855d453d1d2f840df19","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98034","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98034","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 61df10c7799e27807ad5e459eec9d77cddf8bf45 86168208737bdd267d92d855d453d1d2f840df19 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 61df10c7799e27807ad5e459eec9d77cddf8bf45 ecdc5043794c9184aa8e6c814603899479c46b35 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected b5a8069835e5236824a84281592d29f859b33153 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.18.18 5.19 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.19","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.19 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.7 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3-rc2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["kernel/bpf/verifier.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"86168208737bdd267d92d855d453d1d2f840df19","status":"affected","version":"61df10c7799e27807ad5e459eec9d77cddf8bf45","versionType":"git"},{"lessThan":"ecdc5043794c9184aa8e6c814603899479c46b35","status":"affected","version":"61df10c7799e27807ad5e459eec9d77cddf8bf45","versionType":"git"},{"status":"affected","version":"b5a8069835e5236824a84281592d29f859b33153","versionType":"git"},{"lessThan":"5.19","status":"affected","version":"5.18.18","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["kernel/bpf/verifier.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.19"},{"lessThan":"5.19","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3-rc2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.7","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3-rc2","versionStartIncluding":"5.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Mark NULL kptr stores precise\n\ncheck_map_kptr_access() permits a scalar store into an untrusted kptr\nfield only when the register is known to contain zero. Unlike other\nverifier checks whose outcome depends on a scalar value, it does not mark\nthat register precise.\n\nA state checkpoint reached with an imprecise zero can therefore prune a\nsecond path that reaches the store with an arbitrary nonzero scalar. The\nprogram can write attacker-controlled bits into the kptr field and load\nthem back as a PTR_TO_BTF_ID.\n\nCall mark_chain_precision() before accepting a known-zero register. This\nforces state equivalence to compare its scalar range and makes the verifier\nvisit and reject a path carrying a nonzero value."}],"providerMetadata":{"dateUpdated":"2026-09-25T10:23:49.352Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/86168208737bdd267d92d855d453d1d2f840df19"},{"url":"https://git.kernel.org/stable/c/ecdc5043794c9184aa8e6c814603899479c46b35"}],"title":"bpf: Mark NULL kptr stores precise","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98034","datePublished":"2026-09-25T10:23:49.352Z","dateReserved":"2026-09-25T10:19:56.070Z","dateUpdated":"2026-09-25T10:23:49.352Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-25 11:17:32","lastModifiedDate":"2026-09-25 11:17:32","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98034","Ordinal":"1","Title":"bpf: Mark NULL kptr stores precise","CVE":"CVE-2026-98034","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98034","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Mark NULL kptr stores precise\n\ncheck_map_kptr_access() permits a scalar store into an untrusted kptr\nfield only when the register is known to contain zero. Unlike other\nverifier checks whose outcome depends on a scalar value, it does not mark\nthat register precise.\n\nA state checkpoint reached with an imprecise zero can therefore prune a\nsecond path that reaches the store with an arbitrary nonzero scalar. The\nprogram can write attacker-controlled bits into the kptr field and load\nthem back as a PTR_TO_BTF_ID.\n\nCall mark_chain_precision() before accepting a known-zero register. This\nforces state equivalence to compare its scalar range and makes the verifier\nvisit and reject a path carrying a nonzero value.","Type":"Description","Title":"bpf: Mark NULL kptr stores precise"}]}}}