Out-of-bounds Write Affecting kernel-rt package, versions <0:5.14.0-284.73.1.rt14.358.el9_2


Severity

Recommended
high

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
0.04% (15th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-RHEL9-KERNELRT-7457238
  • published16 Jul 2024
  • disclosed29 May 2024

Introduced: 29 May 2024

CVE-2024-36016  (opens in a new tab)
CWE-787  (opens in a new tab)
First added by Snyk

How to fix?

Upgrade RHEL:9 kernel-rt to version 0:5.14.0-284.73.1.rt14.358.el9_2 or higher.
This issue was patched in RHSA-2024:4554.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel-rt package and not the kernel-rt package as distributed by RHEL. See How to fix? for RHEL:9 relevant fixed versions and status.

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.

CVSS Scores

version 3.1