Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Reject negative offsets for ALU ops When verifying BPF programs, the check_alu_op() function validates instructions with ALU operations. The 'offset' field in these instructions is a signed 16-bit integer. The existing check 'insn->off > 1' was intended to ensure the offset is either 0, or 1 for BPF_MOD/BPF_DIV. However, because 'insn->off' is signed, this check incorrectly accepts all negative values (e.g., -1). This commit tightens the validation by changing the condition to '(insn->off != 0 && insn->off != 1)'. This ensures that any value other than the explicitly permitted 0 and 1 is rejected, hardening the verifier against malformed BPF programs.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ec0e2da95f72d4a46050a4d994e4fe471474fd80 to < 3bce44b344040e5eef3d64d38b157c15304c0aabaffectedec0e2da95f72d4a46050a4d994e4fe471474fd80 to < 5017c302ca4b2a45149ad64e058fa2d5623c068faffectedec0e2da95f72d4a46050a4d994e4fe471474fd80 to < 21167bf70dbe400563e189ac632258d35eda38b5affectedec0e2da95f72d4a46050a4d994e4fe471474fd80 to < 55c0ced59fe17dee34e9dfd5f7be63cbab207758affected
Linux Linux
Default version status: affected
6.6affected0 to < 6.6unaffected6.6.112 to ≤ 6.6.*unaffected6.12.53 to ≤ 6.12.*unaffected6.17.3 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected