CVE-2024-36016

tty: n_gsm: fix possible out-of-bounds in gsm0_receive()

State
Published
Severity
7.8 High
Published
May 29, 2024
Updated
Aug 5, 2026
Reserved
May 17, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.7 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 9513d4148950b05bc99fa7314dc883cc0e1605e5Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before b229bc6c6ea9fe459fc3fa94fd0a27a2f32aca56Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 0fb736c9931e02dbc7d9a75044c8e1c039e50f04Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 4c267110fc110390704cc065edb9817fdd10ff54Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 46f52c89a7e7d2691b97a9728e4591d071ca8abcAffected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 774d83b008eccb1c48c14dc5486e7aa255731350Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before f126ce7305fe88f49cdabc6db4168b9318898ea3Affected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before b890d45aaf02b564e6cae2d2a590f9649330857dAffected
  • e1eaea46bb4020b38a141b84f88565d4603f8dd0 to before 47388e807f85948eefc403a8a5fdc5b406a65d5aAffected
LinuxLinux
  • 2.6.35Affected
  • before 2.6.35Not affected
  • 4.19.316 through 4.19.*Not affected
  • 5.4.278 through 5.4.*Not affected
  • 5.10.219 through 5.10.*Not affected
  • 5.15.161 through 5.15.*Not affected
  • 6.1.93 through 6.1.*Not affected
  • 6.6.33 through 6.6.*Not affected
  • 6.8.12 through 6.8.*Not affected
  • 6.9.3 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.