CVE-2025-24531

6.7 MEDIUM

📋 TL;DR

This vulnerability in OpenSC pam_pkcs11 allows authentication bypass when smartcard authentication fails. The pam_sm_authenticate() function incorrectly returns PAM_IGNORE instead of PAM_AUTH_ERR in error situations, potentially allowing unauthorized access. Systems using pam_pkcs11 for smartcard-based authentication are affected.

💻 Affected Systems

Products:
  • OpenSC pam_pkcs11
Versions: All versions before 0.6.13
Operating Systems: Linux systems using PAM with pam_pkcs11 module
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems configured to use pam_pkcs11 for authentication. Common in enterprise environments using smartcards for authentication.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete authentication bypass allowing unauthorized users to access systems protected by smartcard authentication, potentially leading to full system compromise.

🟠

Likely Case

Authentication bypass for users attempting to authenticate with smartcards when errors occur, potentially allowing access to systems that should require valid smartcard credentials.

🟢

If Mitigated

Limited impact if multi-factor authentication or additional security controls are in place beyond pam_pkcs11.

🌐 Internet-Facing: MEDIUM - Risk depends on whether affected systems are exposed to authentication attempts from untrusted networks.
🏢 Internal Only: HIGH - Internal systems using pam_pkcs11 for authentication are vulnerable to authentication bypass from internal users.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Requires ability to trigger authentication errors with smartcard, which could be done through various means including physical manipulation or software attacks.

Exploitation requires triggering authentication errors during smartcard login process.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.6.13

Vendor Advisory: https://github.com/OpenSC/pam_pkcs11/security/advisories/GHSA-7mf6-rg36-qgch

Restart Required: No

Instructions:

1. Update pam_pkcs11 to version 0.6.13 or later. 2. For package managers: Use your distribution's package manager (apt, yum, dnf, etc.) to update pam_pkcs11. 3. For source installation: Download from GitHub releases and compile/install. 4. No service restart required, but authentication attempts will use the updated module immediately.

🔧 Temporary Workarounds

Disable pam_pkcs11 temporarily

linux

Remove or comment out pam_pkcs11 lines from PAM configuration files to disable smartcard authentication until patched.

# Backup PAM config first
sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.backup
# Edit PAM config to remove pam_pkcs11 lines
sudo nano /etc/pam.d/common-auth

🧯 If You Can't Patch

  • Implement additional authentication factors beyond pam_pkcs11 to reduce risk of single-factor bypass.
  • Monitor authentication logs for failed smartcard authentication attempts that result in successful login.

🔍 How to Verify

Check if Vulnerable:

Check pam_pkcs11 version: 'pam_pkcs11 --version' or check package manager. If version is below 0.6.13 and system uses pam_pkcs11 for authentication, it's vulnerable.

Check Version:

pam_pkcs11 --version 2>/dev/null || dpkg -l | grep pam-pkcs11 || rpm -qa | grep pam_pkcs11

Verify Fix Applied:

Verify pam_pkcs11 version is 0.6.13 or higher: 'pam_pkcs11 --version' should show 0.6.13+. Test authentication with intentional smartcard errors to ensure proper failure handling.

📡 Detection & Monitoring

Log Indicators:

  • Successful authentication following smartcard/PKCS11 errors in auth.log or secure.log
  • PAM authentication logs showing IGNORE returns from pam_pkcs11

Network Indicators:

  • Authentication attempts from unexpected sources following smartcard authentication failures

SIEM Query:

source="auth.log" AND "pam_pkcs11" AND ("error" OR "fail") AND "session opened"

🔗 References

📤 Share & Export