tty: n_gsm: fix race condition in status line change on dead connections (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.18 % · percentile 8 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: tty: n_gsm: fix race condition in status line change on dead connections gsm_cleanup_mux() cleans up the gsm by closing all DLCIs, stopping all timers, removing the virtual tty devices and clearing the data queues. This procedure, however, may cause subsequent changes of the virtual modem status lines of a DLCI. More data is being added the outgoing data queue and the deleted kick timer is restarted to handle this. At this point many resources have already been removed by the cleanup procedure. Thus, a kernel panic occurs. Fix this by proving in gsm_modem_update() that the cleanup procedure has not been started and the mux is still alive. Note that writing to a virtual tty is already protected by checks against the DLCI specific connection state.
Weaknesses (CWE)
- CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
References
- https://git.kernel.org/stable/c/81a4dd5e6c78f5d8952fa8c9d36565db1fe01444
- https://git.kernel.org/stable/c/df6cfab66ff2a44bd23ad5dd5309cb3421bb6593
- https://git.kernel.org/stable/c/19d34b73234af542cc8a218cf398dee73cdb1890
- https://git.kernel.org/stable/c/ce4df90333c4fe65acb8b5089fdfe9b955ce976a
- https://git.kernel.org/stable/c/3a75b205de43365f80a33b98ec9289785da56243
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | CISA-ADP |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary) |
European references
- ENISA EUVD · EUVD-2023-59585
- GCVE · GCVE-0-2023-52872
CERT-FR advisories
- CERTFR-2024-AVI-0717 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0693 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0632 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0526 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0496 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.15.61 < 5.15.138cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.18.18 < 5.19cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.19.2 < 6.1.62cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.5.11cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.6 < 6.6.1
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected dd37f657387853623f20c1b2482afbb9cd8ece33 < 81a4dd5e6c78f5d8952fa8c9d36565db1fe01444 ; affected c568f7086c6e771c77aad13d727c70ef70e07243 < df6cfab66ff2a44bd23ad5dd5309cb3421bb6593 ; affected c568f7086c6e771c77aad13d727c70ef70e07243 < 19d34b73234af542cc8a218cf398dee73cdb1890 ; affected c568f7086c6e771c77aad13d727c70ef70e07243 < ce4df90333c4fe65acb8b5089fdfe9b955ce976a ; affected c568f7086c6e771c77aad13d727c70ef70e07243 < 3a75b205de43365f80a33b98ec9289785da56243 ; affected d834aba5f30d9a6f98f4ca1eb07e501f1989331c |
| Linux · Linux | affected 6.0 ; unaffected 0 < 6.0 ; unaffected 5.15.138 ≤ 5.15.* ; unaffected 6.1.62 ≤ 6.1.* ; unaffected 6.5.11 ≤ 6.5.* ; unaffected 6.6.1 ≤ 6.6.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |