Out-of-bounds ReadWeakness · CWE-125

CVE-2025-14104

MEDIUM · 6.1 CVSS v3.1 Published 2025-12-05
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
63/100
Remediation priority · Elevated
Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
A flaw was found in util-linux. This vulnerability allows a heap buffer overread when processing 256-byte usernames, specifically within the `setpwnam()` function, affecting SUID (Set User ID) login-utils utilities writing to the password database.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · moderate confidence

A heap buffer overread vulnerability exists in util-linux's setpwnam() function when processing 256-byte usernames, affecting SUID login-utils utilities that write to the password database (e.g., /etc/passwd). An attacker with local access could potentially exploit this to read heap memory contents via specially crafted usernames.

MitigationApply the vendor-supplied patch or update util-linux to the fixed version. Prioritize updating affected SUID login utilities on systems where untrusted users can create accounts.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
High

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Check installed util-linux version
    Run `rpm -q util-linux` (RHEL/Fedora) or `dpkg -l util-linux` (Debian/Ubuntu) or `lsb_release -a` combined with `util-linux --version` to identify the exact version installed on your system
    Affected if The installed version is lower than the vendor-fixed version and falls within the vulnerable range
  2. Locate SUID login-utils utilities
    Run `find /usr -perm -4000 -name "*user*" -o -perm -4000 -name "*login*" -o -perm -4000 -name "*chfn*" -o -perm -4000 -name "*chsh*" 2>/dev/null` to find SUID binaries in login-utils that write to /etc/passwd
    Affected if SUID login-utils binaries (such as chfn, chsh, or other user management tools) exist on the system and are owned by root with the SUID bit set
  3. Identify if password database is writable
    Check if any SUID login utility can write to /etc/passwd by examining its capabilities or running it with untrusted input in a test environment; also verify /etc/passwd permissions with `ls -la /etc/passwd`
    Affected if The SUID login-utils utilities can write to /etc/passwd and the vulnerability in setpwnam() is triggered when processing a 256-byte username
  4. Assess user account creation access
    Determine if non-privileged or untrusted users can trigger account creation by checking if they have access to commands like `useradd`, `newusers`, or SUID utilities that process usernames via setpwnam()
    Affected if Untrusted or non-root users can create accounts or modify user entries, allowing them to supply the 256-byte username that triggers the heap overread in setpwnam()

You are affected if your system runs a vulnerable util-linux version with SUID login-utils binaries that permit untrusted users to create or modify accounts, enabling them to trigger the heap buffer overread via specially crafted 256-byte usernames.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

From vendor data
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Apply the vendor-supplied patch or update util-linux to the fixed version. Prioritize updating affected SUID login utilities on systems where untrusted users can create accounts.

Have this fixed Scoped from the published advisory
  • Consultation2.0 h
  • Implementation1.0 h
  • Testing3.0 h
  • Review / QA1.0 h
7.0 hours of engineering $1,210
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $1,936.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2025-14104 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2025-14104 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data