CVE-2025-15469CWE-347

'openssl dgst' one-shot codepath silently truncates inputs >16MB

Medium · published January 27, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
9.6
In the wild
Unconfirmed
What it is

Issue summary: The 'openssl dgst' command-line tool silently truncates input

data to 16MB when using one-shot signing algorithms and reports success instead

of an error.

Impact summary: A user signing or verifying files larger than 16MB with

one-shot algorithms (such as Ed25519, Ed448, or ML-DSA) may believe the entire

file is authenticated while trailing data beyond 16MB remains unauthenticated.

When the 'openssl dgst' command is used with algorithms that only support

one-shot signing (Ed25519, Ed448, ML-DSA-44, ML-DSA-65, ML-DSA-87), the input

is buffered with a 16MB limit. If the input exceeds this limit, the tool

silently truncates to the first 16MB and continues without signaling an error,

contrary to what the documentation states. This creates an integrity gap where

trailing bytes can be modified without detection if both signing and

verification are performed using the same affected codepath.

The issue affects only the command-line tool behavior. Verifiers that process

the full message using library APIs will reject the signature, so the risk

primarily affects workflows that both sign and verify with the affected

'openssl dgst' command. Streaming digest algorithms for 'openssl dgst' and

library users are unaffected.

The FIPS modules in 3.5 and 3.6 are not affected by this issue, as the

command-line tools are outside the OpenSSL FIPS module boundary.

OpenSSL 3.5 and 3.6 are vulnerable to this issue.

OpenSSL 3.4, 3.3, 3.0, 1.1.1 and 1.0.2 are not affected by this issue.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00202 · 9.6th percentile
Weakness
CWE-347 · Improper Verification of Cryptographic Signature
Published
2026-01-27T16:01Z
EPSS history
Timeline
  • 27 JAN 16:01Z
    'openssl dgst' one-shot codepath silently truncates inputs >16MB
    cvelistv5