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.

    Impacted products
    Name purl
    openssl-encrypt pkg:pypi/openssl-encrypt

    {
      "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"
        }
      ]
    }