Search
Find a vulnerability
Search criteria
Related vulnerabilities
PYSEC-2026-3745
Vulnerability from pysec - Published: 2026-08-17 11:16 - Updated: 2026-09-01 08:54
VLAI
Details
openssl_encrypt before 1.4.0 imports Python's non-cryptographic 'random' module (Mersenne Twister PRNG) at line 15 of openssl_encrypt/modules/pqc.py. No direct calls to random.* were present in the code, so no cryptographic operation is currently affected; however, the import creates a hazard that future code could inadvertently use random.randint() instead of a cryptographically secure alternative (secrets/os.urandom), producing predictable values since the Mersenne Twister state can be recovered from approximately 624 outputs. Fixed by removing the import in 1.4.0.
Severity
5.9 (Medium)
Impacted products
| Name | purl | openssl-encrypt | pkg:pypi/openssl-encrypt |
|---|
Aliases
{
"affected": [
{
"ecosystem_specific": {},
"package": {
"ecosystem": "PyPI",
"name": "openssl-encrypt",
"purl": "pkg:pypi/openssl-encrypt"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.4.0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"0.2.2",
"0.2.3",
"0.2.4",
"0.2.5",
"0.2.6",
"0.3.0",
"0.3.1",
"0.3.2",
"0.3.3",
"0.4.0",
"0.4.1",
"0.4.2",
"0.4.3",
"0.4.4",
"0.5.0",
"0.5.1",
"0.5.3",
"0.6.0rc1",
"0.7.0rc2",
"0.7.1",
"0.7.2",
"0.8.0",
"0.8.1",
"0.8.2",
"0.9.2",
"1.0.0",
"1.0.1",
"1.0.2",
"1.0.3",
"1.1.0",
"1.2.0",
"1.2.1",
"1.3.0",
"1.3.1",
"1.3.2",
"1.3.3",
"1.3.4",
"1.3.5",
"1.4.0b3",
"1.4.0b4",
"1.4.0b5",
"1.4.0b6",
"1.4.0b7",
"1.4.0b8"
]
}
],
"aliases": [
"CVE-2026-74887",
"GHSA-cx72-m6xj-3vf6"
],
"details": "openssl_encrypt before 1.4.0 imports Python\u0027s non-cryptographic \u0027random\u0027 module (Mersenne Twister PRNG) at line 15 of openssl_encrypt/modules/pqc.py. No direct calls to random.* were present in the code, so no cryptographic operation is currently affected; however, the import creates a hazard that future code could inadvertently use random.randint() instead of a cryptographically secure alternative (secrets/os.urandom), producing predictable values since the Mersenne Twister state can be recovered from approximately 624 outputs. Fixed by removing the import in 1.4.0.",
"id": "PYSEC-2026-3745",
"modified": "2026-09-01T08:54:57.296518Z",
"published": "2026-08-17T11:16:43.523Z",
"references": [
{
"type": "ADVISORY",
"url": "https://github.com/jahlives/openssl_encrypt/security/advisories/GHSA-cx72-m6xj-3vf6"
},
{
"type": "ADVISORY",
"url": "https://www.vulncheck.com/advisories/openssl-encrypt-before-insecure-random-import-in-pqc-module"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N",
"type": "CVSS_V3"
}
]
}