In the Linux kernel, the following vulnerability has been resolved: net/sched: fix pedit partial COW leading to page cache corruption tcf_pedit_act() computes the COW range for skb_ensure_writable() once before the key loop using tcfp_off_max_hint, but the hint does not account for the runtime header offset added by typed keys. This can leave part of the write region un-COW'd. Fix by moving skb_ensure_writable() inside the per-key loop where the actual write offset is known, and add overflow checking on the offset arithmetic. For negative offsets (e.g. Ethernet header edits at ingress), use skb_cow() to COW the headroom instead. Guard offset_valid() against INT_MIN, where negation is undefined.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | HIGH |
| Availability Impact | HIGH |
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Type: Secondary
Exploitability Score: 1.8
Impact Score: 5.9
| Source | Type | Description |
|---|---|---|
| 134c704f-9b21-4f2e-91b3-4a467353bcc0 | Secondary |
en
CWE-190
en
CWE-787
|
| 0b0ca135-0b70-47e7-9f44-1890c2a1c46c | Secondary |
en
CWE-787
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3854b3800> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36b4e82c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd386747b00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd37039b0c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd386747540> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd386744940> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd38551fa80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd39c4a5b00> | Operating System |
| linux | linux_kernel | 5.18 | <built-in method update of dict object at 0x7fd36bacee80> | Operating System |
| linux | linux_kernel | 5.18 | <built-in method update of dict object at 0x7fd3854b2c00> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd386746e00> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd36b4e8040> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd340be7740> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd386745640> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd3854bf9c0> | Operating System |
| linux | linux_kernel | 7.1 | <built-in method update of dict object at 0x7fd386745b40> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:5.18:-:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:5.18:rc7:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:* |