CVE-2024-10041
Medium · 4.7CVSS
4.7
EPSS
0.3%
Published
Oct 23, 2024
CISA due date
—
Cloudanix analysis
Someone already on the computer could trick the login system into accidentally revealing stored passwords.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits a local attacker to leak sensitive in-memory secrets such as /etc/shadow passwords by sending input to stdin of a PAM process while training the branch predictor to speculatively execute an ROP chain.
Why it matters to the business
Exposure of authentication credentials on affected SUSE Enterprise Linux systems could enable unauthorized access, account compromise, and follow-on attacks in enterprise environments.
How an attack unfolds
An attacker with local access identifies a PAM-authenticating process, sends crafted characters to its stdin to trigger speculative execution, trains the branch predictor to follow an ROP gadget chain, and extracts leaked password material via a side channel.
How to fix it
Apply the vendor-supplied kgraft live patches: kgraft-patch-SLE12-SP1_Update_21 fixed in version 10-2.1 for both SUSE Linux Enterprise Server 12 SP1-LTSS and SUSE Linux Enterprise Server for SAP Applications 12 SP1.
How to confirm the fix worked
Confirm the installed kgraft-patch package reports version 10-2.1 or later via package manager queries and verify the patch is active with the kGraft tooling.
Typical attack path
- Obtain local user access on the target host
- Locate a process performing PAM authentication
- Write input to the process stdin while priming the branch predictor
- Observe side-channel results to recover secret memory contents
How to detect it
Review authentication logs and process creation events around PAM binaries for unexpected stdin activity; because the attack is speculative and leaves no persistent artifacts, post-exploitation detection is difficult without specialized side-channel monitoring.
What your security team should do
- Install the fixed kgraft-patch 10-2.1 on all affected SUSE 12 SP1 systems without delay
- Restrict local user accounts to the minimum necessary privileges
- Audit PAM configuration and authentication logs for anomalies
The record
A vulnerability was found in PAM. The secret information is stored in memory, where the attacker can trigger the victim program to execute by sending characters to its standard input (stdin). As this occurs, the attacker can train the branch predictor to execute an ROP chain speculatively. This flaw could result in leaked passwords, such as those found in /etc/shadow while performing authentications.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | pam | 0 | 1.3.1-36.el8_10 |
| AlmaLinux:8 | pam-devel | 0 | 1.3.1-36.el8_10 |
| AlmaLinux:9 | pam | 0 | 1.5.1-21.el9_5 |
| AlmaLinux:9 | pam-devel | 0 | 1.5.1-21.el9_5 |
| AlmaLinux:9 | pam-docs | 0 | 1.5.1-21.el9_5 |
| Chainguard | linux-pam | 0 | 1.6.0-r0 |
| Chainguard | linux-pam-dev | 0 | 1.6.0-r0 |
| Chainguard | linux-pam-doc | 0 | 1.6.0-r0 |
| Debian:11 | pam | 0 | No fix |
| Debian:12 | pam | 0 | No fix |
| Debian:13 | pam | 0 | No fix |
| Debian:13 | pam | 0 | 1.7.0-2 |
| Mageia:9 | pam | 0 | 1.5.2-5.2.mga9 |
| Red Hat:enterprise_linux:8::baseos | pam | 0 | 0:1.3.1-36.el8_10 |
| Red Hat:enterprise_linux:8::baseos | pam-debuginfo | 0 | 0:1.3.1-36.el8_10 |
| Red Hat:enterprise_linux:8::baseos | pam-debugsource | 0 | 0:1.3.1-36.el8_10 |
| Red Hat:enterprise_linux:8::baseos | pam-devel | 0 | 0:1.3.1-36.el8_10 |
| Red Hat:enterprise_linux:9::appstream | pam | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::appstream | pam-debuginfo | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::appstream | pam-debugsource | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::appstream | pam-devel | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::appstream | pam-docs | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::baseos | pam | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::baseos | pam-debuginfo | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::baseos | pam-debugsource | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::baseos | pam-devel | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:enterprise_linux:9::baseos | pam-docs | 0 | 0:1.5.1-21.el9_5 |
| Red Hat:rhel_eus:9.4::appstream | pam | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | pam-debuginfo | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | pam-debugsource | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | pam-devel | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::appstream | pam-docs | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::baseos | pam | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::baseos | pam-debuginfo | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::baseos | pam-debugsource | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::baseos | pam-devel | 0 | 0:1.5.1-21.el9_4 |
| Red Hat:rhel_eus:9.4::baseos | pam-docs | 0 | 0:1.5.1-21.el9_4 |
| Rocky Linux:8 | pam | 0 | 0:1.3.1-36.el8_10 |
| SUSE:Enterprise Storage 7.1 | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Enterprise Storage 7.1 | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | apparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | libapparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | apparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | libapparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Micro 5.1 | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Micro 5.1 | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Micro 5.1 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Micro 5.1 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Micro 5.2 | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Micro 5.2 | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Micro 5.2 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Micro 5.2 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Micro 5.3 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Micro 5.3 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Micro 5.4 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Micro 5.4 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Micro 5.5 | apparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Micro 5.5 | libapparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Micro 5.5 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Micro 5.5 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | apparmor | 0 | 3.1.7-150600.5.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libapparmor | 0 | 3.1.7-150600.5.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | apparmor | 0 | 3.1.7-150600.5.9.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | pam | 0 | 1.3.0-150000.6.76.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP7 | pam | 0 | 1.3.0-150000.6.86.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | apparmor | 0 | 3.1.7-150600.5.9.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | apparmor | 0 | 2.8.2-56.26.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | apparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | libapparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | apparmor | 0 | 2.8.2-56.26.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | pam | 0 | 1.1.8-24.64.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | apparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | libapparmor | 0 | 2.13.6-150300.3.24.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | apparmor | 0 | 3.0.4-150500.11.18.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | libapparmor | 0 | 3.0.4-150500.11.18.1 |
| Ubuntu:20.04:LTS | pam | 0 | No fix |
| Ubuntu:22.04:LTS | pam | 0 | No fix |
| Ubuntu:24.04:LTS | pam | 0 | No fix |
| Ubuntu:24.10 | pam | 0 | No fix |
| Ubuntu:25.04 | pam | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | pam | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | pam | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | pam | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | pam | 0 | No fix |
| Wolfi | linux-pam | 0 | 1.6.0-r0 |
| Wolfi | linux-pam-dev | 0 | 1.6.0-r0 |
| Wolfi | linux-pam-doc | 0 | 1.6.0-r0 |
| openSUSE:Leap 15.6 | apparmor | 0 | 3.1.7-150600.5.9.1 |
| openSUSE:Leap 15.6 | libapparmor | 0 | 3.1.7-150600.5.9.1 |
| openSUSE:Leap 15.6 | pam | 0 | 1.3.0-150000.6.76.1 |
| openSUSE:Leap 15.6 | pam | 0 | 1.3.0-150000.6.86.1 |
| openSUSE:Leap 16.0 | pam | 0 | 1.7.1-160000.3.1 |
| openSUSE:Leap 16.0 | pam-full-src | 0 | 1.7.1-160000.3.1 |
| openSUSE:Tumbleweed | pam | 0 | 1.7.1-3.1 |
Related vulnerabilities
- CVE-2024-10963 A flaw was found in pam_access, where certain rules in its configuration file are… Also affects pam
- CVE-2024-22365 linux-pam (aka Linux PAM) before 1.6.0 allows attackers to cause a denial of service… Also affects pam
- CVE-2013-7041 The pam_userdb module for Pam uses a case-insensitive method to compare hashed passwords… Also affects pam
- CVE-2022-28321 The Linux-PAM package before 1.5.2-6.1 for openSUSE Tumbleweed allows authentication… Also affects pam
- CVE-2026-87951 Insecure Storage of Sensitive Information vulnerability in Drupal SAML SSO - Service… CWE-922
- CVE-2026-44629 Improper access control to the Synergis Softwire installation folder. CWE-922
- CVE-2026-20705 Insecure storage of sensitive information in the Intel(R) TDX module for some Intel(R)… CWE-922
- CVE-2026-47362 In versions of the Datadog Android application prior to v554-5.9.4, two Room-backed… CWE-922