Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: bpf: Reject pkt arguments in mutating subprogs The verifier tracks changes in how PTR_TO_PACKET registers' bounds are modified across subprog boundaries. PTR_TO_PACKET registers are actually passed as PTR_TO_MEM, which is assumed valid for the entire call. This is not the case with packet memory, where a pskb_* call may invalidate its memory region. Reject BPF code that passes PTR_TO_PACKET pointers to subprogs that may mutate a packet. We cannot pass the pointer as a true PTR_TO_PACKET because we would also need to somehow pass the PTR_TO_PACKET_META or PTR_TO_PACKET_END to the subprog. Since we cannot avoid representing the pointer in the subprog as PTR_TO_MEM, only permit it if the subprog is guaranteed not to mutate the packet.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 0b6b2bb9b90ad1e2d94d18f626258a1dbbdee0ea; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before a6c1edfbe240e4377038a0e1d233ad81fde9a21b; affected 0 before 7.2.9 |
| Linux / Linux | unaffected 7.2.9 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.