{"kind": "stack", "path": "vulns/stack/python", "name": "python", "stack": "python", "items": [{"id": "CVE-2026-115557", "noindex": false, "published": "2026-10-24T14:15:14.283Z", "modified": "2026-10-25T00:39:26.520Z", "cvss": 9.4, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H", "severity": "critical", "epss": 0.00534, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115557", "title": "Distrust compromised intermediate certificates in ssl module", "description": "Python has added a denylist for known compromised certificates to the \"ssl\" module to ensure user safety even without certificate revocation configured. Known compromised certificates will automatically be rejected regardless of the SSLContext policy configuration.", "references": ["http://www.openwall.com/lists/oss-security/2026/10/20/29", "https://github.com/python/cpython/pull/160042", "https://github.com/python/cpython/issues/160040"], "fixes": ["3.16.0"], "products": [{"name": "python", "path": "vulns/python", "ecosystem": ""}, {"name": "python3.11", "path": "vulns/debian-12/python3.11", "ecosystem": "Debian:12"}, {"name": "python3.13", "path": "vulns/debian-13/python3.13", "ecosystem": "Debian:13"}, {"name": "python3.13", "path": "vulns/debian-14/python3.13", "ecosystem": "Debian:14"}, {"name": "python3.14", "path": "vulns/debian-14/python3.14", "ecosystem": "Debian:14"}, {"name": "python3.15", "path": "vulns/debian-14/python3.15", "ecosystem": "Debian:14"}]}, {"id": "CVE-2026-112913", "noindex": false, "published": "2026-10-23T22:28:19Z", "modified": "2026-10-23T22:45:03.439584635Z", "cvss": 3.3, "cvss_vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L", "severity": "low", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-112913", "title": "filelock: ReadWriteLock on Windows acts on SQLite side files another local user places beside its database", "description": "On Windows, `ReadWriteLock` and `AsyncReadWriteLock` (the SQLite-backed reader/writer lock) connect SQLite to the lock database by its path, in every directory. SQLite derives three side files from that path: `<database>-journal`, the rollback journal (pages saved to undo an interrupted write); `<database>-wal`, the write-ahead log (changes kept outside the main file); and `<database>-shm`, the shared-memory index of the WAL. SQLite acts on whichever of these it finds beside the database before the lock runs any statement. Another local account that can create files in the database's directory, but not delete files of other accounts there, pl", "references": ["https://github.com/tox-dev/filelock/security/advisories/GHSA-9vhv-jxww-xfm5", "https://github.com/tox-dev/filelock/pull/834", "https://github.com/tox-dev/filelock/commit/5e3f2ec0c5fb17cb2635b60b2b68bc63ab81ca2d"], "fixes": ["4.2.1"], "products": [{"name": "filelock", "path": "vulns/pypi/filelock", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-112907", "noindex": false, "published": "2026-10-23T22:27:32Z", "modified": "2026-10-23T22:45:03.452878321Z", "cvss": 2.5, "cvss_vector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L", "severity": "low", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-112907", "title": "filelock: On Windows an oplock on a soft lock's marker holds SoftFileLock.acquire() past its timeout and blocks the stale break", "description": "On Windows the soft locks (`SoftFileLock`, `MarkerSoftFileLock`, `SoftFileLease`, their async forms, and a `FileLock` that fell back to a soft lock) read their marker by path. The marker is the lock file whose presence says a process holds the lock. Each `acquire()` attempt that finds a marker opens it with `os.open` to read the holder's process id, and the lock renames and deletes a marker it judges stale, by path. On Windows each of these calls waits for an oplock. An oplock (opportunistic lock) is a request by a process that holds a handle on a file to be told before another process opens, renames or deletes that file; the other process wa", "references": ["https://github.com/tox-dev/filelock/security/advisories/GHSA-567q-5qvw-pf92", "https://github.com/tox-dev/filelock/pull/835", "https://github.com/tox-dev/filelock/commit/e1e825b1992f69fb6b346dc395d5ae4893536c0a"], "fixes": ["4.2.1"], "products": [{"name": "filelock", "path": "vulns/pypi/filelock", "ecosystem": "PyPI"}]}, {"id": "GHSA-xmj3-9gf7-h52w", "noindex": false, "published": "2026-10-23T21:44:11Z", "modified": "2026-10-23T22:00:03.739009766Z", "cvss": null, "cvss_vector": "CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:A/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N", "severity": "unknown", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/ghsa-xmj3-9gf7-h52w", "title": "setuptools: Windows path escape via namespace_packages.txt during legacy wheel installation  Description", "description": "### Summary\n\nOn Windows, attacker-controlled content in a wheel's\n`.dist-info/namespace_packages.txt` can cause setuptools' legacy wheel\ninstallation path to create an `__init__.py` outside the requested\n`destination_eggdir`.\n\nThe attacker can influence the destination path, but not the contents of\nthe created file.\n\n### Details\n\nTested setuptools commit:\n\n`6ead555c5fb29bc57fe6105b1bffc163f56fd558`\n\nRelevant source:\n\n`setuptools/wheel.py`\n\nSHA-256:\n\n`359b7e0d5dd8c3135653abe08a8ed5dc0352eadfd7df22cb5e2b5303b7c3cafd`\n\nThe relevant call path is:\n\n`Wheel(wheel_path).install_as_egg(destination)`\n→ `_install_as_egg`\n→ `_convert_metadata`\n→ `_fix_na", "references": ["https://github.com/pypa/setuptools/security/advisories/GHSA-xmj3-9gf7-h52w", "https://github.com/pypa/setuptools/pull/5329", "https://github.com/pypa/setuptools/commit/6d07b8d17890dda58d944ac51e58f54af92d52af"], "fixes": ["84.1.0"], "products": [{"name": "setuptools", "path": "vulns/pypi/setuptools", "ecosystem": "PyPI"}]}, {"id": "GHSA-7xgj-8392-5q4r", "noindex": false, "published": "2026-10-23T21:32:06Z", "modified": "2026-10-23T21:45:04.921838145Z", "cvss": 6.8, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N", "severity": "medium", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/ghsa-7xgj-8392-5q4r", "title": "FastMCP: Post-transform component authorization is skipped on direct calls", "description": "## Maintainer assessment and remediation\n\nThis report is accepted as a FastMCP authorization vulnerability. In supported configurations, a server transform can change the metadata used by a component's authorization policy. Direct lookups previously checked the original component but returned the transformed component without rechecking its policy. A client that knows the component identifier can invoke a tool or retrieve a resource or prompt that the configured policy denies.\n\nThe fixes authorize the final transformed tools, resources, templates, and prompts. A denied concrete resource also shadows a matching resource template at its URI, pr", "references": ["https://github.com/PrefectHQ/fastmcp/security/advisories/GHSA-7xgj-8392-5q4r", "https://github.com/PrefectHQ/fastmcp/pull/5933", "https://github.com/PrefectHQ/fastmcp/pull/5934"], "fixes": ["3.4.10", "4.1.2"], "products": [{"name": "fastmcp", "path": "vulns/pypi/fastmcp", "ecosystem": "PyPI"}, {"name": "fastmcp", "path": "vulns/pypi/fastmcp", "ecosystem": "PyPI"}, {"name": "fastmcp-slim", "path": "vulns/pypi/fastmcp-slim", "ecosystem": "PyPI"}, {"name": "fastmcp-slim", "path": "vulns/pypi/fastmcp-slim", "ecosystem": "PyPI"}]}, {"id": "GHSA-vqqp-x5qm-5qp4", "noindex": false, "published": "2026-10-23T21:31:30Z", "modified": "2026-10-23T21:45:04.917049730Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N", "severity": "medium", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/ghsa-vqqp-x5qm-5qp4", "title": "FastMCP MCP client wrappers construct M2M OAuth providers without issuer binding — client secret redirectable to attacker-advertised authorization server", "description": "## Maintainer assessment and remediation\n\nThis report is accepted as a FastMCP credential-binding vulnerability. Affected versions of the OAuth client credentials providers do not expose the authorization-server issuer that owns pre-registered credentials. An untrusted or compromised MCP server can therefore advertise a different authorization server and receive the client secret or a signed assertion. Signing keys themselves remain local; assertion replayability depends on the assertion source and audience policy.\n\nAffected stable versions are 4.0.0–4.1.1 of `fastmcp` and `fastmcp-slim`. The wrappers were introduced in 4.0.0a1; 3.x does not ", "references": ["https://github.com/PrefectHQ/fastmcp/security/advisories/GHSA-vqqp-x5qm-5qp4", "https://github.com/PrefectHQ/fastmcp/pull/5933", "https://github.com/PrefectHQ/fastmcp/commit/85df42fbf2aa631cc81e0f986718b314128e91df"], "fixes": ["4.1.2"], "products": [{"name": "fastmcp", "path": "vulns/pypi/fastmcp", "ecosystem": "PyPI"}, {"name": "fastmcp-slim", "path": "vulns/pypi/fastmcp-slim", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115886", "noindex": false, "published": "2026-10-23T21:17:21.462Z", "modified": "2026-10-23T21:17:21.462Z", "cvss": 6.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N", "severity": "medium", "epss": 0.00324, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115886", "title": "MLflow: SSRF on unauthenticated MLflow servers via third-party scorer kwargs in the scorer invoke, register, and GenAI evaluate endpoints", "description": "MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 3.12.0rc0 until 3.17.0, the scorer invoke, register, and GenAI evaluate endpoints, including unauthenticated POST /ajax-api/3.0/mlflow/scorer/invoke, accept serialized third-party scorer data that Scorer.model_validate_json resolves using a module-path allowlist without constraining the selected class or its constructor arguments. When optional trulens and trulens-providers-litellm packages are installed, an attacker can select mlflow.genai.scorers.trulens, choose a model URI outside MLflow's native provider registry so execut", "references": ["https://github.com/mlflow/mlflow/security/advisories/GHSA-2wqp-q3c6-ccj5", "https://github.com/mlflow/mlflow/pull/25890", "https://github.com/mlflow/mlflow/commit/bac30b4148c4f40045b4d4db07ae60ab3838803f"], "fixes": ["3.17.0"], "products": [{"name": "mlflow", "path": "vulns/mlflow", "ecosystem": ""}, {"name": "mlflow", "path": "vulns/pypi/mlflow", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115883", "noindex": false, "published": "2026-10-23T21:12:34.523Z", "modified": "2026-10-23T21:12:34.523Z", "cvss": 6, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N", "severity": "medium", "epss": 0.00298, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115883", "title": "LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores", "description": "LangGraph checkpoint savers provide Postgres- and SQLite-backed state persistence for LangGraph workflows and agents. Prior to langgraph-checkpoint-postgres 3.1.3 and langgraph-checkpoint-sqlite 3.1.2, PostgresStore, AsyncPostgresStore, SqliteStore, and AsyncSqliteStore flatten namespace labels with \".\".join(namespace), while BaseStore validates labels only for put and aput. Unvalidated dotted labels passed through get, search, delete, list_namespaces, their asynchronous equivalents, or direct batch and abatch operations can resolve to another tenant's stored namespace, allowing cross-namespace reads, overwrites, or deletion. InMemoryStore is", "references": ["https://github.com/langchain-ai/langgraph/security/advisories/GHSA-6hmw-9432-67qq", "https://github.com/langchain-ai/langgraph/pull/9217", "https://github.com/langchain-ai/langgraph/commit/bfcfea554ed5c7f7be562cebf8825e911b493ab1"], "fixes": ["3.1.2", "3.1.3"], "products": [{"name": "langgraph", "path": "vulns/langgraph", "ecosystem": ""}, {"name": "langgraph-checkpoint-postgres", "path": "vulns/langgraph-checkpoint-postgres", "ecosystem": ""}, {"name": "langgraph-checkpoint-sqlite", "path": "vulns/langgraph-checkpoint-sqlite", "ecosystem": ""}, {"name": "langgraph-checkpoint-postgres", "path": "vulns/pypi/langgraph-checkpoint-postgres", "ecosystem": "PyPI"}, {"name": "langgraph-checkpoint-sqlite", "path": "vulns/pypi/langgraph-checkpoint-sqlite", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115877", "noindex": false, "published": "2026-10-23T20:25:12.031Z", "modified": "2026-10-23T20:25:12.031Z", "cvss": 5.4, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N", "severity": "medium", "epss": 0.00257, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115877", "title": "Twisted: HTTP Request Smuggling in twisted.web via a Bare CR or LF in a Header Value", "description": "Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.web.http.HTTPChannel.headerReceived rejects a NUL byte in an HTTP header value but accepts a bare carriage return or bare line feed. Because Twisted splits header lines only on CRLF, a hidden Content-Length header can remain folded into another value while a lenient front end treats the bare character as a line terminator. The resulting framing disagreement can smuggle a following request past front-end access controls, poison a shared connection or cache, and expose a later client to the wrong response. This issue is an incompl", "references": ["https://github.com/twisted/twisted/security/advisories/GHSA-q7qq-6mhp-9rc4", "https://github.com/twisted/twisted/pull/12755", "https://github.com/twisted/twisted/commit/022b6f7feb5980166c71f54e2c0d8f4f21ff6e1a"], "fixes": ["26.10.0rc1"], "products": [{"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115778", "noindex": false, "published": "2026-10-23T20:20:34.591Z", "modified": "2026-10-23T20:55:34.866Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.0054, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115778", "title": "Twisted: Unauthenticated Remote Denial of Service in the Twisted conch Telnet Transport via an Unbounded Subnegotiation Buffer", "description": "Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.conch.telnet.Telnet.dataReceived appends every byte received after IAC SB to a persistent subnegotiation buffer until IAC SE is received, without applying a maximum length. Telnet option negotiation occurs before authentication, so an unauthenticated peer can omit the terminator and continuously grow the buffer. The resulting memory exhaustion can terminate the process and every service it hosts. This issue is fixed in version 26.10.0rc1.", "references": ["https://github.com/twisted/twisted/security/advisories/GHSA-cwm5-jh59-mwxr", "https://github.com/twisted/twisted/pull/12750", "https://github.com/twisted/twisted/commit/073ba878c6c07d569cb61abc5ae76d46eff1b529"], "fixes": ["26.10.0rc1"], "products": [{"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115776", "noindex": false, "published": "2026-10-23T20:18:38.342Z", "modified": "2026-10-23T20:18:38.342Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "severity": "high", "epss": 0.00501, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115776", "title": "Twisted: Unauthenticated Remote Denial of Service in the Twisted IRC Server via an Unbounded Line Buffer", "description": "Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.words.protocols.irc.IRC.dataReceived retains all bytes received without a line feed in its per-connection buffer and applies no maximum line length. The twisted.words.service.IRCUser server subclass inherits this behavior, and buffering occurs before PASS, NICK, or USER authentication commands. An unauthenticated connection can continuously grow the buffer until the shared server process runs out of memory and drops all users. This issue is fixed in version 26.10.0rc1.", "references": ["https://github.com/twisted/twisted/security/advisories/GHSA-53xc-49m8-p798", "https://github.com/twisted/twisted/pull/12771", "https://github.com/twisted/twisted/commit/01f8cff7753c1edac132380b2ea939fa6bdbab30"], "fixes": ["26.10.0rc1"], "products": [{"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115775", "noindex": false, "published": "2026-10-23T20:16:29.913Z", "modified": "2026-10-23T20:16:29.913Z", "cvss": 8.7, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00444, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115775", "title": "Twisted: Unauthenticated Remote Denial of Service in the Twisted words domish XML Element Stream via an Unbounded Element Tree", "description": "Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, the twisted.words.xish.domish ExpatElementStream parser allows an unauthenticated remote peer to keep a container element open while continuously adding child elements. The parser retains the unfinished stanza as an in-memory tree without a byte or element-count limit, and XMPP pre-authentication stream parsing exposes this behavior before credentials are accepted. A single connection can therefore exhaust server memory and terminate the process. This issue is fixed in version 26.10.0rc1.", "references": ["https://github.com/twisted/twisted/security/advisories/GHSA-3476-c5c2-fr73", "https://github.com/twisted/twisted/pull/12751", "https://github.com/twisted/twisted/commit/8873814bec8288e2466fad4d2c4d64039beb88b0"], "fixes": ["26.10.0rc1"], "products": [{"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115774", "noindex": false, "published": "2026-10-23T20:14:07.480Z", "modified": "2026-10-23T20:14:07.480Z", "cvss": 4.9, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H", "severity": "medium", "epss": 0.0043, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115774", "title": "Twisted: Denial of Service in the Twisted IMAP4 Server via a Negative Literal Size in SEARCH", "description": "Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to 26.10.0rc1, twisted.mail.imap4.IMAP4Server reaches twisted.mail.imap4.parseNestedParens with a negative literal size in an authenticated SEARCH command after the client enters the selected mailbox state. The negative size moves the parser cursor below zero, and Python's negative indexing prevents the synchronous scanning loop from terminating. The loop freezes the single-threaded reactor, stopping other IMAP connections and any SMTP or POP3 services hosted in the same process until restart. This issue is fixed in version 26.10.0rc1.", "references": ["https://github.com/twisted/twisted/security/advisories/GHSA-2qrf-pqgx-qh9v", "https://github.com/twisted/twisted/pull/12764", "https://github.com/twisted/twisted/commit/3d125548bcbe955007cb97f480bb699a5e074741"], "fixes": ["26.10.0rc1"], "products": [{"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115586", "noindex": false, "published": "2026-10-23T19:34:46.391Z", "modified": "2026-10-23T20:55:42.764Z", "cvss": 7.1, "cvss_vector": "CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00198, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115586", "title": "virtualenv: Bash activator leaves the --prompt value unescaped in PS1 when promptvars is off, so prompt expansion later executes it (regression in 21.14.9)", "description": "virtualenv is a tool for creating isolated virtual python environments. From 21.14.9 until 21.14.13, the bash bin/activate script can copy an attacker-controlled --prompt value into PS1 without escaping dollar signs or backticks when both promptvars and POSIX mode are disabled during activation. Re-enabling promptvars, running set -o posix, or starting an interactive child bash that inherits the exported PS1 can then expand command substitution in the stored VIRTUAL_ENV_PROMPT value and execute commands as the user who activates the environment. This issue is fixed in version 21.14.13.", "references": ["https://github.com/pypa/virtualenv/security/advisories/GHSA-cx6f-vjhg-g3cc", "https://github.com/pypa/virtualenv/pull/3466", "https://github.com/pypa/virtualenv/commit/3598e201f6f044e389136b2347a8a919ac03c5f4"], "fixes": ["21.14.13"], "products": [{"name": "virtualenv", "path": "vulns/virtualenv", "ecosystem": ""}, {"name": "virtualenv", "path": "vulns/pypi/virtualenv", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115585", "noindex": false, "published": "2026-10-23T19:31:52.598Z", "modified": "2026-10-23T19:31:52.598Z", "cvss": 7.1, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.0041, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115585", "title": "pypdf: Possible long runtimes for repeated malformed cross-reference entries (Follow-up)", "description": "pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an incomplete remediation for repeated malformed cross-reference entries in GHSA-55h5-xmcq-c37v could still trigger a complete PDF stream reload during each recovery attempt even when a recovery cache was present, causing crafted cross-reference streams to produce long runtimes. This issue is fixed in version 6.21.2.", "references": ["https://github.com/py-pdf/pypdf/security/advisories/GHSA-jr96-gvgh-j3r4", "https://github.com/py-pdf/pypdf/pull/4240", "https://github.com/py-pdf/pypdf/commit/68a0e5046cc9e14a6c24a21a713f3c7fbde18b4b"], "fixes": ["6.21.2"], "products": [{"name": "pypdf", "path": "vulns/pypdf", "ecosystem": ""}, {"name": "pypdf", "path": "vulns/debian-12/pypdf", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/debian-13/pypdf", "ecosystem": "Debian:13"}, {"name": "pypdf", "path": "vulns/debian-14/pypdf", "ecosystem": "Debian:14"}, {"name": "pypdf2", "path": "vulns/debian-12/pypdf2", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/pypi/pypdf", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115580", "noindex": false, "published": "2026-10-23T19:29:49.845Z", "modified": "2026-10-23T19:29:49.845Z", "cvss": 7.1, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.0041, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115580", "title": "pypdf: Possible long runtimes for large xref table header limits", "description": "pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF with a standard cross-reference table whose declared entry count exceeds what the file can contain, causing excessive processing and long runtimes when the file is opened. This issue is fixed in version 6.21.2.", "references": ["https://github.com/py-pdf/pypdf/security/advisories/GHSA-gmh7-3g9r-mjh5", "https://github.com/py-pdf/pypdf/pull/4239", "https://github.com/py-pdf/pypdf/commit/a3061e34b169d34478d520f5f049c53cfb1482b2"], "fixes": ["6.21.2"], "products": [{"name": "pypdf", "path": "vulns/pypdf", "ecosystem": ""}, {"name": "pypdf", "path": "vulns/debian-12/pypdf", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/debian-13/pypdf", "ecosystem": "Debian:13"}, {"name": "pypdf", "path": "vulns/debian-14/pypdf", "ecosystem": "Debian:14"}, {"name": "pypdf2", "path": "vulns/debian-12/pypdf2", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/pypi/pypdf", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-115572", "noindex": false, "published": "2026-10-23T19:24:51.055Z", "modified": "2026-10-23T19:24:51.055Z", "cvss": 7.1, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00375, "kev": false, "exploits": [], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-115572", "title": "pypdf: Possible long runtimes for repeated references to the same missing object", "description": "pypdf is a free and open-source pure-python PDF library. Prior to 6.21.2, an attacker can craft a PDF that repeatedly references the same nonexistent indirect object, causing relevant file parts such as pages to trigger repeated full-file recovery loads and long runtimes when accessed. This issue is fixed in version 6.21.2.", "references": ["https://github.com/py-pdf/pypdf/security/advisories/GHSA-6c7f-9265-g8fw", "https://github.com/py-pdf/pypdf/pull/4240", "https://github.com/py-pdf/pypdf/commit/68a0e5046cc9e14a6c24a21a713f3c7fbde18b4b"], "fixes": ["6.21.2"], "products": [{"name": "pypdf", "path": "vulns/pypdf", "ecosystem": ""}, {"name": "pypdf", "path": "vulns/debian-12/pypdf", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/debian-13/pypdf", "ecosystem": "Debian:13"}, {"name": "pypdf", "path": "vulns/debian-14/pypdf", "ecosystem": "Debian:14"}, {"name": "pypdf2", "path": "vulns/debian-12/pypdf2", "ecosystem": "Debian:12"}, {"name": "pypdf", "path": "vulns/pypi/pypdf", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-54711", "noindex": false, "published": "2026-10-23T12:16:38.258Z", "modified": "2026-10-23T12:16:38.258Z", "cvss": 2.4, "cvss_vector": "CVSS:4.0/AV:L/AC:L/AT:N/PR:H/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N", "severity": "low", "epss": 0.00156, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-54711", "title": "PGHoard: Password written to debug log", "description": "pghoard is a PostgreSQL backup daemon and restore tooling that stores backup data in cloud object stores. Prior to version 2.7.1, when using .pgpass, database connection information including the username and password will be logged at the debug level. This issue has been patched in version 2.7.1.", "references": ["https://github.com/Aiven-Open/pghoard/security/advisories/GHSA-mpx4-jmpr-vm8v", "https://github.com/Aiven-Open/pghoard/releases/tag/2.7.1", "https://nvd.nist.gov/vuln/detail/CVE-2026-54711"], "fixes": [], "products": [{"name": "pghoard", "path": "vulns/pghoard", "ecosystem": ""}, {"name": "pghoard", "path": "vulns/pypi/pghoard", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-57117", "noindex": false, "published": "2026-10-23T12:10:18.920Z", "modified": "2026-10-23T12:10:18.920Z", "cvss": 8.8, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "severity": "high", "epss": 0.00401, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-57117", "title": "PraisonAI: Compute-bridged file tools allow shell command injection", "description": "PraisonAI is a multi-agent teams system. From version 4.6.10 to before version 4.6.59, LocalManagedAgent / SandboxedAgent compute bridging wraps read_file, list_files, and write_file when a compute provider is attached. The bridge converts those file operations into shell command strings using raw path arguments, then sends those strings to shell-backed compute providers. An attacker who can influence a file-tool path argument can break out of the quoted path and execute arbitrary shell commands in the compute environment. With compute=\"local\", commands execute through the local subprocess compute provider on the host. With Docker, commands e", "references": ["https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-w6h2-fr4q-xvxv", "https://nvd.nist.gov/vuln/detail/CVE-2026-57117"], "fixes": ["4.6.59"], "products": [{"name": "praisonai", "path": "vulns/praisonai", "ecosystem": ""}, {"name": "praisonai", "path": "vulns/pypi/praisonai", "ecosystem": "PyPI"}]}, {"id": "CVE-2026-57146", "noindex": false, "published": "2026-10-23T12:08:16.479Z", "modified": "2026-10-23T12:08:16.479Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "severity": "high", "epss": 0.00343, "kev": false, "exploits": [], "stacks": [{"name": "python", "path": "vulns/stack/python", "slug": "python"}], "path": "vulns/cve-2026-57146", "title": "PraisonAI A2U incomplete authentication fix leaves current serve command unauthenticated by default", "description": "PraisonAI is a multi-agent teams system. From version 4.5.115 to before version 4.6.61, the published A2U advisory GHSA-f292-66h9-fpmf says unauthenticated A2U event streaming was fixed in praisonai 4.5.115. Current head still exposes the same A2U subscription and event routes without authentication when the operator starts the documented CLI entrypoint. The current CLI wrapper does not expose --api-key, does not install the common API-key middleware, and does not generate a token for A2U. It calls create_a2u_routes(app) directly. That helper only enforces auth if A2U_AUTH_TOKEN is already present; if the variable is missing, _authenticate_re", "references": ["https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-jxcw-qp4h-6jfq", "https://nvd.nist.gov/vuln/detail/CVE-2026-57146"], "fixes": ["4.6.61"], "products": [{"name": "praisonai", "path": "vulns/praisonai", "ecosystem": ""}, {"name": "praisonai", "path": "vulns/pypi/praisonai", "ecosystem": "PyPI"}]}], "total": 7029, "unknown_count": 0, "release_unconfirmed": false, "page": 1, "pages": 200, "filtered": false, "noindex": false, "filters": {}, "page_size": 20, "products": [{"name": "python", "path": "vulns/python", "ecosystem": ""}, {"name": "python3.11", "path": "vulns/debian-12/python3.11", "ecosystem": "Debian:12"}, {"name": "python3.13", "path": "vulns/debian-13/python3.13", "ecosystem": "Debian:13"}, {"name": "python3.13", "path": "vulns/debian-14/python3.13", "ecosystem": "Debian:14"}, {"name": "python3.14", "path": "vulns/debian-14/python3.14", "ecosystem": "Debian:14"}, {"name": "python3.15", "path": "vulns/debian-14/python3.15", "ecosystem": "Debian:14"}, {"name": "filelock", "path": "vulns/pypi/filelock", "ecosystem": "PyPI"}, {"name": "setuptools", "path": "vulns/pypi/setuptools", "ecosystem": "PyPI"}, {"name": "fastmcp", "path": "vulns/pypi/fastmcp", "ecosystem": "PyPI"}, {"name": "fastmcp-slim", "path": "vulns/pypi/fastmcp-slim", "ecosystem": "PyPI"}, {"name": "mlflow", "path": "vulns/mlflow", "ecosystem": ""}, {"name": "mlflow", "path": "vulns/pypi/mlflow", "ecosystem": "PyPI"}, {"name": "langgraph", "path": "vulns/langgraph", "ecosystem": ""}, {"name": "langgraph-checkpoint-postgres", "path": "vulns/langgraph-checkpoint-postgres", "ecosystem": ""}, {"name": "langgraph-checkpoint-sqlite", "path": "vulns/langgraph-checkpoint-sqlite", "ecosystem": ""}, {"name": "langgraph-checkpoint-postgres", "path": "vulns/pypi/langgraph-checkpoint-postgres", "ecosystem": "PyPI"}, {"name": "langgraph-checkpoint-sqlite", "path": "vulns/pypi/langgraph-checkpoint-sqlite", "ecosystem": "PyPI"}, {"name": "twisted", "path": "vulns/twisted", "ecosystem": ""}, {"name": "twisted", "path": "vulns/debian-12/twisted", "ecosystem": "Debian:12"}, {"name": "twisted", "path": "vulns/debian-13/twisted", "ecosystem": "Debian:13"}, {"name": "twisted", "path": "vulns/debian-14/twisted", "ecosystem": "Debian:14"}, {"name": "twisted", "path": "vulns/pypi/twisted", "ecosystem": "PyPI"}, {"name": "virtualenv", "path": "vulns/virtualenv", "ecosystem": ""}, {"name": "virtualenv", "path": "vulns/pypi/virtualenv", "ecosystem": "PyPI"}], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "web", "path": "vulns/stack/web", "slug": "web"}, {"name": "php", "path": "vulns/stack/php", "slug": "php"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}, {"name": "node", "path": "vulns/stack/node", "slug": "node"}, {"name": "database", "path": "vulns/stack/database", "slug": "database"}, {"name": "containers", "path": "vulns/stack/containers", "slug": "containers"}, {"name": "network", "path": "vulns/stack/network", "slug": "network"}, {"name": "applications", "path": "vulns/stack/applications", "slug": "applications"}], "versions": [], "stats": {"recent": 312, "kev": 0}, "lastmod": "2026-10-25T00:39:26.520Z", "early_advisories": [], "license": "Подборку PatchFirst и наши дополнения (приоритеты, ранние предупреждения, тексты, сводки и агрегаты) можно свободно использовать для собственных целей, включая внутренние задачи бизнеса. Перепродажа, коммерческое распространение и массовое зеркалирование этой подборки или дополнений допускаются только по письменному соглашению с оператором. При любом использовании или публикации подборки или наших дополнений указывайте PatchFirst (https://ru.patchfirst.dev/vulns/) с этой ссылкой на страницу ленты своего региона. Исходные записи открытых источников остаются под их лицензиями и условиями. Эти условия не ограничивают ваши права на исходные данные, которые можно получить у источников напрямую.", "terms_url": "https://ru.patchfirst.dev/vulns/#feed-terms", "attribution": {"name": "PatchFirst", "url": "https://ru.patchfirst.dev/vulns/"}, "source_changes": "PatchFirst отбирает, нормализует и объединяет записи; могут добавляться сводки и переводы. Новости указываются ссылкой на первоисточник в самой записи.", "sources": [{"id": "cve", "name": "CVE List / CVE.org", "url": "https://www.cve.org/", "license": "CVE Terms of Use", "terms_url": "https://www.cve.org/Legal/TermsOfUse", "notice": "Copyright © 1999–2021, The MITRE Corporation. LICENSE Submissions : For all materials you submit to the Common Vulnerabilities and Exposures (CVE™), you hereby grant to The MITRE Corporation (MITRE) and all CVE Numbering Authorities (CNAs) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute such materials and derivative works. Unless required by applicable law or agreed to in writing, you provide such materials on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. CVE Usage : MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. DISCLAIMERS ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN \"AS IS\" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."}, {"id": "osv", "name": "OSV", "url": "https://osv.dev/", "terms_url": "https://google.github.io/osv.dev/data/", "terms": "Лицензии исходных баз различаются; см. каталог источников."}, {"id": "kev", "name": "CISA KEV", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog", "license": "CC0-1.0", "terms_url": "https://github.com/cisagov/kev-data/blob/develop/LICENSE"}, {"id": "epss", "name": "FIRST EPSS", "url": "https://www.first.org/epss/", "terms_url": "https://www.first.org/epss/faq", "terms": "Оценки доступны свободно; запрашивается указание источника (FIRST EPSS, оценки подготовлены Empirical Security)."}, {"id": "github-advisory", "name": "GitHub Advisory Database", "url": "https://github.com/advisories", "license": "CC-BY-4.0", "terms_url": "https://github.com/github/advisory-database/blob/main/LICENSE.md"}, {"id": "exploitdb", "name": "Exploit-DB", "url": "https://www.exploit-db.com/", "license": "GPL-2.0", "terms_url": "https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md"}, {"id": "metasploit", "name": "Metasploit", "url": "https://github.com/rapid7/metasploit-framework", "license": "BSD-3-Clause", "terms_url": "https://github.com/rapid7/metasploit-framework/blob/master/LICENSE", "notice": "Copyright (c) 2006-2026, Rapid7, Inc.\nLicense: BSD-3-clause\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n .\n * Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n .\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n .\n * Neither the name of Rapid7, Inc. nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."}, {"id": "nuclei", "name": "Nuclei Templates", "url": "https://github.com/projectdiscovery/nuclei-templates", "license": "MIT", "terms_url": "https://github.com/projectdiscovery/nuclei-templates/blob/main/LICENSE.md", "notice": "MIT License\n\nCopyright (c) 2025 ProjectDiscovery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}, {"id": "linux-kernel", "name": "Linux kernel releases", "url": "https://www.kernel.org/", "license": "CC-BY-SA-4.0", "terms_url": "https://www.kernel.org/legal.html", "notice": "Copyright (C) 1997-2014 by The Linux Kernel Organization, Inc."}]}