Skip to main content

Libfido2 EUVDEUVD-2026-23135

| CVE-2026-40947 LOW
Untrusted Search Path (CWE-426)
2026-04-15 mitre GHSA-6vgr-gf7r-f3jc
2.9
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Gain local file system write access to working directory
  2. Delivery
    Identify target DLL dependency via reverse engineering or source code inspection
  3. Exploit
    Craft malicious DLL matching legitimate library interface
  4. Install
    Place DLL in search path before legitimate library
  5. C2
    Invoke vulnerable application from compromised directory
  6. Execute
    Application loads attacker DLL
  7. Impact
    Execute arbitrary code with user privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V13 - Configuration Search path verification
Exploitation Conditions

The vulnerability requires the following specific conditions: (1) Local file system access to a directory in the DLL search path before the legitimate library location, typically the current working directory or a user-writable directory such as %APPDATA%, %TEMP%, or the Python script's directory; (2) The targeted application (libfido2, python-fido2, or yubikey-manager) must be invoked from that directory or have that directory in its module/library search path; (3) The attacker must identify and replicate a DLL that the application loads during execution - this requires knowledge of the application's dependencies and the exact DLL name and function signatures, increasing complexity; (4) The user must execute the vulnerable application from the compromised directory without explicitly setting trusted library paths (e.g., via PYTHONPATH or environment variables that override the default search order). Exploitation is NOT required in default, read-only system configurations or isolated secure enclaves; it is limited to scenarios where users control their own working directory, such as developer workstations, shared lab machines, or CI/CD environments with loose access controls. The AC:H (high attack complexity) designation reflects that an attacker must predict and manufacture a compatible DLL payload, and the timing/context of application invocation must align with the malicious DLL being in the search path.

Impact

The CVSS 2.9 score (Low severity) with AV:L/AC:H/PR:N/UI:N/S:U reflects the constrained real-world risk: local access required (AV:L), high attack complexity (AC:H), and integrity impact only (I:L, no confidentiality or availability loss). The high complexity factor suggests the vulnerability requires specific conditions - such as a particular working directory, DLL load sequence, or user interaction context - that limit opportunistic exploitation. EPSS data is not provided, preventing probabilistic exploitation likelihood assessment. The vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, and no public proof-of-concept code is referenced, indicating this is not actively exploited at scale. Risk is primarily to environments where local attackers can control directory contents within a compromised user's working context or where libfido2/python-fido2 are invoked from untrusted directories. Enterprise deployment of yubikey-manager typically occurs in controlled environments (administrative workstations, secure enclaves) where local DLL injection risk is mitigated by access controls; however, developer workstations using python-fido2 may face elevated risk if developers run untrusted code or clone repositories containing malicious DLLs in their working directory.

Exploit ScenarioDerived

An attacker with local file system access (e.g., shared developer workstation, CI/CD runner with loose access controls) places a malicious DLL with the same name as a required system or Yubico library (e.g., 'winscard.dll', 'libusb.dll', or an internal crypto library) in a directory that appears early in the DLL search path - such as the current working directory of a Python script invoking python-fido2, or a directory writable by the user running yubikey-manager. When a developer or administrator runs a yubikey-manager command or a Python script that imports fido2, the application loads the attacker's DLL instead of the legitimate one, executing arbitrary code with the user's privileges (typically local user or administrator on a secure workstation). If the workstation also processes token enrollment or authentication events, the attacker can steal credentials, clone tokens, or maintain persistence.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 16, 2026

Untrusted DLL search path vulnerability in Yubico libfido2 before 1.17.0, python-fido2 before 2.2.0, and yubikey-manager before 5.9.1 allows local attackers to achieve privilege escalation or code execution by placing a malicious DLL in a directory searched before the legitimate library location. The vulnerability requires local access and high complexity conditions but affects three widely-used FIDO2 authentication libraries; no public exploit code identified at time of analysis.

RemediationAI

Users must upgrade to patched versions: libfido2 version 1.17.0 or later, python-fido2 version 2.2.0 or later, and yubikey-manager version 5.9.1 or later. Organizations managing multiple deployment instances should prioritize yubikey-manager upgrades on administrative and secure-access workstations first, then deploy python-fido2 updates to development environments and libfido2 updates to systems integrating FIDO2 authentication. As a compensating control for environments with patching delays, restrict the working directories from which libfido2, python-fido2, or yubikey-manager are invoked - ensure these tools are only executed from protected system directories (System32, Program Files) with restricted write permissions, not from user home directories or shared network locations. Additionally, place the application's working directory outside any user-writable path; for Python environments, explicitly set PYTHONPATH and validate module load paths. Disable or restrict user ability to change working directory context for processes invoking these libraries. Monitor DLL load events via Windows Event Tracing or endpoint detection to identify suspicious DLL injection attempts. No active exploitation has been reported, so standard patch management timelines (30-60 days) are acceptable for non-critical systems; however, systems handling sensitive authentication (PIV/FIDO2 token management) should be patched within 14 days.

Affected VersionsENISA

libfido2 0 <1.17.0
yubikey-manager 0 <5.9.1
python-fido2 0 <2.2.0

Affected Packages

euvd libfido2 fix: 1.17.0
euvd python_fido2 fix: 2.2.0
euvd yubikey_manager fix: 5.9.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability stems from CWE-426 (Untrusted Search Path), a class of weakness where applications or libraries load dynamic libraries from directories without proper verification of their origin or integrity. On Windows systems, the Windows DLL search order typically includes the current working directory or user-writable directories before system directories, creating an opportunity for DLL hijacking. Yubico's libfido2 (C library), python-fido2 (Python bindings), and yubikey-manager (management utility) all interact with FIDO2 hardware tokens and cryptographic operations, making them targets for privilege escalation attacks. When these applications or libraries attempt to load required system or vendor DLLs, an attacker who controls a directory in the search path can substitute a malicious DLL, gaining execution context with the privileges of the calling process.

Know when Libfido2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 2.9 LOW
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

Primary rating from Vendor (mitre) · only source for this CVE.

CVSS VectorVendor: mitre

Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

3
Patch released
Apr 17, 2026 - 15:38 nvd
Patch available
Patch available
Apr 16, 2026 - 05:29 EUVD
1.17.0,5.9.1,2.2.0
CVE Published
Apr 15, 2026 - 23:13 nvd
LOW 2.9

DescriptionCVE.org

Yubico libfido2 before 1.17.0, python-fido2 before 2.2.0, and yubikey-manager before 5.9.1 have an unintended DLL search path.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

14
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +14
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy