kernel/bpf/verifier.c in the Linux kernel through 5.12.7 enforces incorrect limits for pointer arithmetic operations, aka CID-bb01a1bba579. This can be abused to perform out-of-bounds reads and writes in kernel memory, leading to local privilege escalation to root. In particular, there is a corner case where the off reg causes a masking direction change, which then results in an incorrect final aux->alu_limit.
5.3.0-18.195.3.0-24.265.4.0-9.126.5.0-9.95.13.0-19.194.13.0-16.194.15.0-1001.15.3.0-1003.35.3.0-1008.95.3.0-1009.105.3.0-1010.115.4.0-1005.55.13.0-1005.66.5.0-1008.85.0.0-1021.24~18.04.15.0.0-1022.25~18.04.15.0.0-1023.26~18.04.15.0.0-1024.27~18.04.15.0.0-1025.285.0.0-1027.305.11.0-1009.9~20.04.2Exploitability
AV:LAC:LPR:LUI:NScope
S:UImpact
C:HI:HA:HCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H