CVE-2024-36489: tls: fix missing memory barrier in tls_init

Published Jun 21, 2024
·
Updated

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

tls: fix missing memory barrier in tlsinit

In tlsinit(), a write memory barrier is missing, and store-store reordering may cause NULL dereference in tls{setsockopt,getsockopt}.

CPU0 CPU1 ----- ----- // In tlsinit() // In tlsctxcreate() ctx = kzalloc() ctx->skproto = READONCE(sk->skprot) -(1)

// In updateskprot() WRITEONCE(sk->skprot, tlsprots) -(2)

// In sockcommonsetsockopt() READONCE(sk->skprot)->setsockopt()

// In tls{setsockopt,getsockopt}() ctx->skproto->setsockopt() -(3)

In the above scenario, when (1) and (2) are reordered, (3) can observe the NULL value of ctx->skproto, causing NULL dereference.

To fix it, we rely on rcuassignpointer() which implies the release barrier semantic. By moving rcuassignpointer() after ctx->skproto is initialized, we can ensure that ctx->skproto are visible when changing sk->skprot.

Other sources

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

tls: fix missing memory barrier in tlsinit

The Linux kernel CVE team has assigned CVE-2024-36489 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024062136-CVE-2024-36489-7213@gregkh/T

Red Hat

Linux Kernel is vulnerable to a denial of service, caused by missing memory barrier in tlsinit. A local authenticated attacker could exploit this vulnerability to cause a denial of service.

IBM

Affected Software

16 affected componentsFixes available
redhat/kernel<5.10.219
5.10.219
redhat/kernel<5.15.161
5.15.161
redhat/kernel<6.1.93
6.1.93
redhat/kernel<6.6.33
6.6.33
redhat/kernel<6.9.4
6.9.4
redhat/kernel<6.10
6.10
Linux Linux kernel>=5.7<5.10.219
Linux Linux kernel>=5.11<5.15.161
Linux Linux kernel>=5.16<6.1.93
Linux Linux kernel>=6.2<6.6.33
Linux Linux kernel>=6.7<6.9.4
IBM Security Verify Governance<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Software Stack<=ISVG 10.0.2
IBM Security Verify Governance, Identity Manager Virtual Appliance<=ISVG 10.0.2
IBM Security Verify Governance Identity Manager Container<=ISVG 10.0.2
debian/linux
5.10.223-15.10.234-16.1.129-16.1.135-16.12.25-1

Event History

Jun 21, 2024
CVE Published
via MITRE·10:18 AM
Data Sourced
via MITRE·10:18 AM
Description
Data Sourced
via NVD·11:15 AM
RemedyDescriptionSeverityWeaknessAffected Software
Sep 11, 2024
Data Sourced
via Launchpad·04:24 PM
Description
May 1, 2025
Data Sourced
via Ubuntu·05:13 PM
RemedyDescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-36489?

CVE-2024-36489 is rated as a high severity vulnerability due to the potential for NULL dereference in specific TLS operations.

2

How do I fix CVE-2024-36489?

To fix CVE-2024-36489, upgrade your Linux kernel to version 5.10.223-1, 5.10.226-1, 6.1.123-1, 6.1.128-1, 6.12.12-1, or 6.12.13-1 as recommended.

3

Which Linux kernel versions are affected by CVE-2024-36489?

CVE-2024-36489 affects Linux kernel versions prior to 5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.9.4, and 6.10.

4

What are the specific operations that may lead to a vulnerability in CVE-2024-36489?

The vulnerability in CVE-2024-36489 may cause NULL dereference during tls_{setsockopt, getsockopt} due to missing memory barriers.

5

Is there a workaround for CVE-2024-36489?

There are no known workarounds for CVE-2024-36489; the recommended action is to apply the necessary kernel updates.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203