In the Linux kernel, the following vulnerability has been resolved: net/x25: Fix potential double free of skb When alloc_skb fails in x25_queue_rx_frame it calls kfree_skb(skb) at line 48 and returns 1 (error). This error propagates back through the call chain: x25_queue_rx_frame returns 1 | v x25_state3_machine receives the return value 1 and takes the else branch at line 278, setting queued=0 and returning 0 | v x25_process_rx_frame returns queued=0 | v x25_backlog_rcv at line 452 sees queued=0 and calls kfree_skb(skb) again This would free the same skb twice. Looking at x25_backlog_rcv: net/x25/x25_in.c:x25_backlog_rcv() { ... queued = x25_process_rx_frame(sk, skb); ... if (!queued) kfree_skb(skb); }
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
| Attack Vector | NETWORK |
|---|---|
| Attack Complexity | LOW |
| Privileges Required | NONE |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | HIGH |
| Availability Impact | HIGH |
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Type: Secondary
Exploitability Score: 3.9
Impact Score: 5.9
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-415
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246efc80> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246efa40> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246ef040> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246ef000> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246ef680> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d24246ed800> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7d23bea6e3c0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x7d24246ef7c0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x7d24246efe40> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x7d24246ecc80> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x7d23bea6d340> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x7d24246ec680> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d24246ed3c0> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d24246ee940> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d23bea6f140> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d24246eef00> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d23bea6ef00> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x7d23bea6de80> | 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:2.6.12:-:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* |