Incorrect Calculation of Buffer Size Affecting rust-openssl package, versions *


Severity

Recommended
medium

Based on Ubuntu security rating.

Threat Intelligence

EPSS
0.29% (19th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-UBUNTU2004-RUSTOPENSSL-16335432
  • published1 May 2026
  • disclosed24 Apr 2026

Introduced: 24 Apr 2026

CVE-2026-41676  (opens in a new tab)
CWE-131  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

There is no fixed version for Ubuntu:20.04 rust-openssl.

NVD Description

Note: Versions mentioned in the description apply only to the upstream rust-openssl package and not the rust-openssl package as distributed by Ubuntu. See How to fix? for Ubuntu:20.04 relevant fixed versions and status.

rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.27 to before 0.10.78, Deriver::derive (and PkeyCtxRef::derive) sets len = buf.len() and passes it as the in/out length to EVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming *keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL. This vulnerability is fixed in 0.10.78.

CVSS Base Scores

version 3.1