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 0x702bdc3770c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702b83bbab00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702b83bba7c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702bde4942c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702bdc377e00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702bdc377f40> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x702b80612f00> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x702b83bb87c0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x702bde497bc0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x702bdc377fc0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x702b83bba2c0> | Operating System |
| linux | linux_kernel | 2.6.12 | <built-in method update of dict object at 0x702bddbb1380> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702bdd672ac0> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702bdc454600> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702b83bbbec0> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702b83bb9d80> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702bde495200> | Operating System |
| linux | linux_kernel | 7.0 | <built-in method update of dict object at 0x702b83bb8680> | 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:*:*:*:*:*:* |