NULL Pointer Dereference Affecting kernel-livepatch-6_4_0-150600_23_14-default package, versions <1-150600.13.3.2


Severity

Recommended
0.0
medium
0
10

Based on SUSE Linux Enterprise Server security rating.

Threat Intelligence

EPSS
0.05% (18th 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 Learn

Learn about NULL Pointer Dereference vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-SLES156-KERNELLIVEPATCH6401506002314DEFAULT-7548997
  • published23 Jul 2024
  • disclosed22 Jul 2024

Introduced: 22 Jul 2024

CVE-2023-52767  (opens in a new tab)
CWE-476  (opens in a new tab)

How to fix?

Upgrade SLES:15.6 kernel-livepatch-6_4_0-150600_23_14-default to version 1-150600.13.3.2 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel-livepatch-6_4_0-150600_23_14-default package and not the kernel-livepatch-6_4_0-150600_23_14-default package as distributed by SLES. See How to fix? for SLES:15.6 relevant fixed versions and status.

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

tls: fix NULL deref on tls_sw_splice_eof() with empty record

syzkaller discovered that if tls_sw_splice_eof() is executed as part of sendfile() when the plaintext/ciphertext sk_msg are empty, the send path gets confused because the empty ciphertext buffer does not have enough space for the encryption overhead. This causes tls_push_record() to go on the split = true path (which is only supposed to be used when interacting with an attached BPF program), and then get further confused and hit the tls_merge_open_record() path, which then assumes that there must be at least one populated buffer element, leading to a NULL deref.

It is possible to have empty plaintext/ciphertext buffers if we previously bailed from tls_sw_sendmsg_locked() via the tls_trim_both_msgs() path. tls_sw_push_pending_record() already handles this case correctly; let's do the same check in tls_sw_splice_eof().

CVSS Scores

version 3.1