{"api_version":"1","generated_at":"2026-06-25T14:48:38+00:00","cve":"CVE-2026-53081","urls":{"html":"https://cve.report/CVE-2026-53081","api":"https://cve.report/api/cve/CVE-2026-53081.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53081","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53081"},"summary":{"title":"bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars\n\nWhen regsafe() compares two scalar registers that both carry\nBPF_ADD_CONST, check_scalar_ids() maps their full compound id\n(aka base | BPF_ADD_CONST flag) as one idmap entry. However,\nit never verifies that the underlying base ids, that is, with\nthe flag stripped are consistent with existing idmap mappings.\n\nThis allows construction of two verifier states where the old\nstate has R3 = R2 + 10 (both sharing base id A) while the current\nstate has R3 = R4 + 10 (base id C, unrelated to R2). The idmap\ncreates two independent entries: A->B (for R2) and A|flag->C|flag\n(for R3), without catching that A->C conflicts with A->B. State\npruning then incorrectly succeeds.\n\nFix this by additionally verifying base ID mapping consistency\nwhenever BPF_ADD_CONST is set: after mapping the compound ids,\nalso invoke check_ids() on the base IDs (flag bits stripped).\nThis ensures that if A was already mapped to B from comparing\nthe source register, any ADD_CONST derivative must also derive\nfrom B, not an unrelated C.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-24 17:17:22","updated_at":"2026-06-24 17:17:22"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/691adf738817275368ed56311b7d798d617823a3","name":"https://git.kernel.org/stable/c/691adf738817275368ed56311b7d798d617823a3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0","name":"https://git.kernel.org/stable/c/2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/13c02881e49aac4c82b261faa26db9edf2567231","name":"https://git.kernel.org/stable/c/13c02881e49aac4c82b261faa26db9edf2567231","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7d73c72cccac651acc891377a5e623e4021c6380","name":"https://git.kernel.org/stable/c/7d73c72cccac651acc891377a5e623e4021c6380","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53081","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53081","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 13c02881e49aac4c82b261faa26db9edf2567231 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 691adf738817275368ed56311b7d798d617823a3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 7d73c72cccac651acc891377a5e623e4021c6380 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 98d7ca374ba4b39e7535613d40e159f09ca14da2 2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.11","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.11 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.91 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.33 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.10 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * 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":"13c02881e49aac4c82b261faa26db9edf2567231","status":"affected","version":"98d7ca374ba4b39e7535613d40e159f09ca14da2","versionType":"git"},{"lessThan":"691adf738817275368ed56311b7d798d617823a3","status":"affected","version":"98d7ca374ba4b39e7535613d40e159f09ca14da2","versionType":"git"},{"lessThan":"7d73c72cccac651acc891377a5e623e4021c6380","status":"affected","version":"98d7ca374ba4b39e7535613d40e159f09ca14da2","versionType":"git"},{"lessThan":"2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0","status":"affected","version":"98d7ca374ba4b39e7535613d40e159f09ca14da2","versionType":"git"}]},{"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":"6.11"},{"lessThan":"6.11","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.91","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.33","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.10","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.91","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.33","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.10","versionStartIncluding":"6.11","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"6.11","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars\n\nWhen regsafe() compares two scalar registers that both carry\nBPF_ADD_CONST, check_scalar_ids() maps their full compound id\n(aka base | BPF_ADD_CONST flag) as one idmap entry. However,\nit never verifies that the underlying base ids, that is, with\nthe flag stripped are consistent with existing idmap mappings.\n\nThis allows construction of two verifier states where the old\nstate has R3 = R2 + 10 (both sharing base id A) while the current\nstate has R3 = R4 + 10 (base id C, unrelated to R2). The idmap\ncreates two independent entries: A->B (for R2) and A|flag->C|flag\n(for R3), without catching that A->C conflicts with A->B. State\npruning then incorrectly succeeds.\n\nFix this by additionally verifying base ID mapping consistency\nwhenever BPF_ADD_CONST is set: after mapping the compound ids,\nalso invoke check_ids() on the base IDs (flag bits stripped).\nThis ensures that if A was already mapped to B from comparing\nthe source register, any ADD_CONST derivative must also derive\nfrom B, not an unrelated C."}],"providerMetadata":{"dateUpdated":"2026-06-24T16:30:21.959Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/13c02881e49aac4c82b261faa26db9edf2567231"},{"url":"https://git.kernel.org/stable/c/691adf738817275368ed56311b7d798d617823a3"},{"url":"https://git.kernel.org/stable/c/7d73c72cccac651acc891377a5e623e4021c6380"},{"url":"https://git.kernel.org/stable/c/2f2ec8e7730e21fc9bd49e0de9cdd58213ea24d0"}],"title":"bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-53081","datePublished":"2026-06-24T16:30:21.959Z","dateReserved":"2026-06-09T07:44:35.383Z","dateUpdated":"2026-06-24T16:30:21.959Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-24 17:17:22","lastModifiedDate":"2026-06-24 17:17:22","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53081","Ordinal":"1","Title":"bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scala","CVE":"CVE-2026-53081","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53081","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Enforce regsafe base id consistency for BPF_ADD_CONST scalars\n\nWhen regsafe() compares two scalar registers that both carry\nBPF_ADD_CONST, check_scalar_ids() maps their full compound id\n(aka base | BPF_ADD_CONST flag) as one idmap entry. However,\nit never verifies that the underlying base ids, that is, with\nthe flag stripped are consistent with existing idmap mappings.\n\nThis allows construction of two verifier states where the old\nstate has R3 = R2 + 10 (both sharing base id A) while the current\nstate has R3 = R4 + 10 (base id C, unrelated to R2). The idmap\ncreates two independent entries: A->B (for R2) and A|flag->C|flag\n(for R3), without catching that A->C conflicts with A->B. State\npruning then incorrectly succeeds.\n\nFix this by additionally verifying base ID mapping consistency\nwhenever BPF_ADD_CONST is set: after mapping the compound ids,\nalso invoke check_ids() on the base IDs (flag bits stripped).\nThis ensures that if A was already mapped to B from comparing\nthe source register, any ADD_CONST derivative must also derive\nfrom B, not an unrelated C.","Type":"Description","Title":"bpf: Enforce regsafe base id consistency for BPF_ADD_CONST scala"}]}}}