{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43070","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-05-01T14:12:55.982Z","datePublished":"2026-05-05T15:23:28.819Z","dateUpdated":"2026-08-05T12:25:43.557Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:25:43.557Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reset register ID for BPF_END value tracking\n\nWhen a register undergoes a BPF_END (byte swap) operation, its scalar\nvalue is mutated in-place. If this register previously shared a scalar ID\nwith another register (e.g., after an `r1 = r0` assignment), this tie must\nbe broken.\n\nCurrently, the verifier misses resetting `dst_reg->id` to 0 for BPF_END.\nConsequently, if a conditional jump checks the swapped register, the\nverifier incorrectly propagates the learned bounds to the linked register,\nleading to false confidence in the linked register's value and potentially\nallowing out-of-bounds memory accesses.\n\nFix this by explicitly resetting `dst_reg->id` to 0 in the BPF_END case\nto break the scalar tie, similar to how BPF_NEG handles it via\n`__mark_reg_known`."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable verifier logic is reached by a local attacker through the bpf() syscall when loading an eBPF program, not by remote packets directly.\nAC:L - The attacker controls the BPF bytecode and can construct the shared scalar-ID plus BPF_END pattern; there is no race or external timing condition required beyond program execution.\nPR:L - A basic local user can reach this in deployments with unprivileged BPF enabled or delegated BPF token capability; if uncertain between requiring CAP_BPF and unprivileged reachability, the higher-severity PR:L is appropriate.\nUI:N - No victim action is required; the attacker loads and triggers the BPF program themselves.\nS:U - The impact is within the kernel security authority, matching a standard local kernel privilege escalation rather than a cross-scope escape.\nC:H - The verifier can incorrectly validate out-of-bounds memory accesses, and such memory corruption/read primitives can expose arbitrary kernel memory.\nI:H - The demonstrated bad bounds propagation permits out-of-bounds writes through BPF pointer arithmetic, which is defensibly exploitable for kernel memory corruption or code execution.\nA:H - Out-of-bounds kernel memory access can crash or panic the kernel even if not fully exploited."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/verifier.c"],"versions":[{"version":"4c03342e5ac532fb34d13a7b51dd7261dfc48963","lessThan":"a17443af874229408ce6b78e2c8a2b5adeb4b7d8","status":"affected","versionType":"git"},{"version":"d00ce96623a69a100ad79675d0e85fda3c50d89b","lessThan":"0d15c3611a2cc5d08993545d4032055ae10ae2c1","status":"affected","versionType":"git"},{"version":"9d21199842247ab05c675fb9b6c6ca393a5c0024","lessThan":"a3125bc01884431d30d731461634c8295b6f0529","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/bpf/verifier.c"],"versions":[{"version":"6.18.17","lessThan":"6.18.21","status":"affected","versionType":"semver"},{"version":"6.19.7","lessThan":"6.19.11","status":"affected","versionType":"semver"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.17","versionEndExcluding":"6.18.21"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19.7","versionEndExcluding":"6.19.11"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/a17443af874229408ce6b78e2c8a2b5adeb4b7d8"},{"url":"https://git.kernel.org/stable/c/0d15c3611a2cc5d08993545d4032055ae10ae2c1"},{"url":"https://git.kernel.org/stable/c/a3125bc01884431d30d731461634c8295b6f0529"}],"title":"bpf: Reset register ID for BPF_END value tracking","x_generator":{"engine":"bippy-1.2.0"}}}}