{"answers":{"affected":"3 open source packages ship an affected version, including openssl-encrypt. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-74878 in the wild and no public exploit code.","fix":"Upgrade openssl-encrypt to 1.4.0 or later.","what":"CVE-2026-74878 is a critical vulnerability in Jahlives Openssl Encrypt, published on 17 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-74878 and fix it if it is affected.\n\nWhat it is: CVE-2026-74878 is a critical vulnerability in Jahlives Openssl Encrypt, published on 17 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-74878 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- openssl-encrypt (PyPI): affected all versions; fixed in 1.4.0\n- openssl-encrypt (PyPI): affected all versions; fixed in 1.4.0\n- openssl-encrypt (PyPI): affected all versions; fixed in 1.4.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-74878/ (Markdown: https://insights.sbomify.com/CVE-2026-74878/index.md)","id":"CVE-2026-74878","markdown":"https://insights.sbomify.com/CVE-2026-74878/index.md","name":"CVE-2026-74878","record":{"aliases":["GHSA-crfx-7r98-6r44","GHSA-h45m-mgcp-q388","PYSEC-2026-3757"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Python TOTP library","requires_auth":"none","summary":"Attackers can bypass TOTP rate limiting by distributing attempts across workers or restarting the server, enabling brute-force attacks against two-factor authentication.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[{"product":"openssl_encrypt","vendor":"jahlives"}],"cvss":{"score":9.3,"severity":"critical","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling"}],"description":"openssl_encrypt versions before 1.4.0 use an in-memory rate limiter for TOTP brute-force protection that is not shared across workers and is lost on server restart. Attackers can distribute authentication attempts across multiple server instances or retry immediately after a restart to bypass rate limiting protections.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"openssl_encrypt before 1.4.0 TOTP Rate Limiter Bypass","id":"CVE-2026-74878","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":"jahlives:openssl_encrypt","products":["jahlives:openssl_encrypt"],"type":"security_feature_bypass","year":"2026"},"n_packages":3,"n_references":2,"next":{"headline":"openssl_encrypt before 1.4.0 Information Disclosure via /ready endpoint","id":"CVE-2026-74879"},"packages":[{"ecosystem":"PyPI","fixed":["1.4.0"],"introduced":["0"],"last_affected":[],"package":"openssl-encrypt","purl":null,"source":"GHSA-h45m-mgcp-q388"},{"ecosystem":"PyPI","fixed":["1.4.0"],"introduced":["0"],"last_affected":[],"package":"openssl-encrypt","purl":"pkg:pypi/openssl-encrypt","source":"GHSA-h45m-mgcp-q388"},{"ecosystem":"PyPI","fixed":["1.4.0"],"introduced":["0"],"last_affected":[],"package":"openssl-encrypt","purl":"pkg:pypi/openssl-encrypt","source":"PYSEC-2026-3757"}],"prev":{"headline":"openssl_encrypt before 1.4.0 Missing Ownership Verification via revoke_key","id":"CVE-2026-74877"},"products":["openssl_encrypt"],"published":"2026-08-17","related":[{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 Authentication Bypass via Recovery Slot Removal","id":"CVE-2026-81680","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 False Encryption via Cleartext Storage","id":"CVE-2026-81681","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 Text Injection via Recovery Slot Metadata","id":"CVE-2026-81685","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl-encrypt before 1.4.9 Output Injection via Unsanitized Filenames in verify-usb Command","id":"CVE-2026-81694","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 Terminal Injection via key_id","id":"CVE-2026-81695","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 Terminal Injection via info Command","id":"CVE-2026-81696","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.3,"headline":"openssl_encrypt before 1.4.9 Shell Injection via info command","id":"CVE-2026-81698","kev_date_added":null,"published":"2026-08-27"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-08","vendors":["jahlives"]},"summary":"Attackers can bypass TOTP rate limiting by distributing attempts across workers or restarting the server, enabling brute-force attacks against two-factor authentication.","url":"https://insights.sbomify.com/CVE-2026-74878/"}