tty: n_gsm: fix possible out-of-bounds in gsm0_receive()
Assuming the following:
- side A configures the n_gsm in basic option mode
- side B sends the header of a basic option mode frame with data length 1
- side A switches to advanced option mode
- side B sends 2 data bytes which exceeds gsm->len
Reason: gsm->len is not used in advanced option mode.
- side A switches to basic option mode
- side B keeps sending until gsm0_receive() writes past gsm->buf
Reason: Neither gsm->state nor gsm->len have been reset after
reconfiguration.
Fix this by changing gsm->count to gsm->len comparison from equal to less
than. Also add upper limit checks against the constant MAX_MRU in
gsm0_receive() and gsm1_receive() to harden against memory corruption of
gsm->len and gsm->mru.
All other checks remain as we still need to limit the data according to the
user configuration and actual payload size.
Metrics
Affected Vendors & Products
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-3840-1 | linux security update |
Debian DSA |
DSA-5730-1 | linux security update |
Ubuntu USN |
USN-6921-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6921-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6923-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6923-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6924-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6924-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6926-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6926-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6926-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-6927-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6938-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6952-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6953-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-6956-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-6957-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-6979-1 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-7019-1 | Linux kernel vulnerabilities |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Tue, 04 Nov 2025 18:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Sun, 04 May 2025 10:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:o:linux:linux_kernel:-:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:2.6.35:*:*:*:*:*:*:* |
|
| Metrics |
ssvc
|
Tue, 01 Apr 2025 19:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Linux
Linux linux Kernel |
Tue, 24 Sep 2024 11:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:/a:redhat:enterprise_linux:9 cpe:/o:redhat:enterprise_linux:9 cpe:/o:redhat:rhel_eus:8.8 |
Wed, 21 Aug 2024 19:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat rhel Aus
Redhat rhel E4s Redhat rhel Tus |
|
| CPEs | cpe:/o:redhat:rhel_aus:8.6 cpe:/o:redhat:rhel_e4s:8.6 cpe:/o:redhat:rhel_tus:8.6 |
|
| Vendors & Products |
Redhat rhel Aus
Redhat rhel E4s Redhat rhel Tus |
Thu, 08 Aug 2024 23:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat enterprise Linux
|
|
| CPEs | cpe:/a:redhat:enterprise_linux:8::nfv cpe:/o:redhat:enterprise_linux:8 |
|
| Vendors & Products |
Redhat enterprise Linux
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2025-11-04T17:20:57.711Z
Reserved: 2024-05-17T13:50:33.154Z
Link: CVE-2024-36016
Updated: 2025-11-04T17:20:57.711Z
Status : Modified
Published: 2024-05-29T19:15:48.297
Modified: 2025-11-04T18:16:23.720
Link: CVE-2024-36016
OpenCVE Enrichment
No data.
Debian DLA
Debian DSA
Ubuntu USN