net/iucv: fix use after free in iucv_sock_close()
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux | unaffected |
|
|||||||||||||||||||||||||||||||||
| Linux | Linux | affected |
|
Configuration 1 [-]
|
| Package | CPE | Advisory | Released Date |
|---|---|---|---|
| Red Hat Enterprise Linux 9 | |||
| kernel-0:5.14.0-503.11.1.el9_5 | cpe:/a:redhat:enterprise_linux:9 | RHSA-2024:9315 | 2024-11-12T00:00:00Z |
| kernel-0:5.14.0-503.11.1.el9_5 | cpe:/o:redhat:enterprise_linux:9 | RHSA-2024:9315 | 2024-11-12T00:00:00Z |
| Red Hat Enterprise Linux 9.2 Extended Update Support | |||
| kernel-0:5.14.0-284.92.1.el9_2 | cpe:/a:redhat:rhel_eus:9.2 | RHSA-2024:9497 | 2024-11-13T00:00:00Z |
| kernel-rt-0:5.14.0-284.92.1.rt14.377.el9_2 | cpe:/a:redhat:rhel_eus:9.2::nfv | RHSA-2024:9498 | 2024-11-13T00:00:00Z |
| Red Hat Enterprise Linux 9.4 Extended Update Support | |||
| kernel-0:5.14.0-427.47.1.el9_4 | cpe:/a:redhat:rhel_eus:9.4 | RHSA-2024:10771 | 2024-12-04T00:00:00Z |
No data available yet.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4008-1 | linux-6.1 security update |
Ubuntu USN |
USN-7069-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7069-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7088-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-4 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7088-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-4 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-6 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7089-7 | Linux kernel (Low Latency) vulnerabilities |
Ubuntu USN |
USN-7090-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7095-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7100-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7100-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7110-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7119-1 | Linux kernel (IoT) vulnerabilities |
Ubuntu USN |
USN-7123-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7144-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-7156-1 | Linux kernel (GKE) vulnerabilities |
Ubuntu USN |
USN-7194-1 | Linux kernel (Azure) vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.235% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:rhel_eus:9.4 |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat rhel Eus
|
|
| CPEs | cpe:/a:redhat:rhel_eus:9.2 cpe:/a:redhat:rhel_eus:9.2::nfv |
|
| Vendors & Products |
Redhat rhel Eus
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat
Redhat enterprise Linux |
|
| CPEs | cpe:/a:redhat:enterprise_linux:9 cpe:/o:redhat:enterprise_linux:9 |
|
| Vendors & Products |
Redhat
Redhat enterprise Linux |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| Weaknesses | CWE-416 | |
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* |
|
| Vendors & Products |
Linux
Linux linux Kernel |
|
| Metrics |
cvssV3_1
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | In the Linux kernel, the following vulnerability has been resolved: net/iucv: fix use after free in iucv_sock_close() iucv_sever_path() is called from process context and from bh context. iucv->path is used as indicator whether somebody else is taking care of severing the path (or it is already removed / never existed). This needs to be done with atomic compare and swap, otherwise there is a small window where iucv_sock_close() will try to work with a path that has already been severed and freed by iucv_callback_connrej() called by iucv_tasklet_fn(). Example: [452744.123844] Call Trace: [452744.123845] ([<0000001e87f03880>] 0x1e87f03880) [452744.123966] [<00000000d593001e>] iucv_path_sever+0x96/0x138 [452744.124330] [<000003ff801ddbca>] iucv_sever_path+0xc2/0xd0 [af_iucv] [452744.124336] [<000003ff801e01b6>] iucv_sock_close+0xa6/0x310 [af_iucv] [452744.124341] [<000003ff801e08cc>] iucv_sock_release+0x3c/0xd0 [af_iucv] [452744.124345] [<00000000d574794e>] __sock_release+0x5e/0xe8 [452744.124815] [<00000000d5747a0c>] sock_close+0x34/0x48 [452744.124820] [<00000000d5421642>] __fput+0xba/0x268 [452744.124826] [<00000000d51b382c>] task_work_run+0xbc/0xf0 [452744.124832] [<00000000d5145710>] do_notify_resume+0x88/0x90 [452744.124841] [<00000000d5978096>] system_call+0xe2/0x2c8 [452744.125319] Last Breaking-Event-Address: [452744.125321] [<00000000d5930018>] iucv_path_sever+0x90/0x138 [452744.125324] [452744.125325] Kernel panic - not syncing: Fatal exception in interrupt Note that bh_lock_sock() is not serializing the tasklet context against process context, because the check for sock_owned_by_user() and corresponding handling is missing. Ideas for a future clean-up patch: A) Correct usage of bh_lock_sock() in tasklet context, as described in Re-enqueue, if needed. This may require adding return values to the tasklet functions and thus changes to all users of iucv. B) Change iucv tasklet into worker and use only lock_sock() in af_iucv. | |
| Title | net/iucv: fix use after free in iucv_sock_close() | |
| References |
|
Use After Free