7962 matches found
PYSEC-2026-4268 PraisonAI: FastContext path resolution permits absolute and traversal reads outside the workspace
FastContext path resolution permits absolute and traversal reads outside the workspace Summary PraisonAI's praisonaiagents.context.fast FastContext feature treats workspacepath as the root directory for code search, but its model-facing search tools and high-level readcontext helper accept absolu...
PYSEC-2026-4265 PraisonAI: Human-in-the-loop tool approval is cached by tool name and silently reused for all subsequent calls with arbitrary arguments
Summary PraisonAI gates dangerous tools file writes, deletes, shell/code execution behind an interactive approval prompt. The first approval of a tool is cached for the remainder of the run and silently reused for all later invocations of that tool with arbitrary, unreviewed arguments. Root cause...
PYSEC-2026-4216 Docling has arbitrary file read/write (and command execution when shell-escape is enabled) when rendering untrusted TikZ with the opt-in Tectonic engine
Summary When the LaTeX backend is configured to render TikZ pictures with the Tectonic engine LatexBackendOptionstikzengine="tectonic", the TikZ body and the document preamble from the input file are compiled by Tectonic without any restriction on TeX's file primitives. A crafted .tex file can re...
PYSEC-2026-4208 Docling: Crafted DoclingDocument JSON embeds local image files into converted output
Summary docling accepts serialized DoclingDocument JSON as an input format InputFormat.JSONDOCLING, enabled by default. A crafted JSON file can set a picture's image uri to a local file path. When the converted document is exported with embedded images ImageRefMode.EMBEDDED, the CLI default for...
PYSEC-2026-4211 Docling: Unbounded table rowspan/colspan in HTML, JATS, ODS and BoxNote backends causes CPU/memory exhaustion
Summary The HTML, JATS, ODS OpenDocument spreadsheet and BoxNote backends accept table rowspan / colspan values without an upper bound. A few bytes of input, such as , make docling run loops proportional to the declared span and allocate a table grid of the declared size. The result is CPU and...
PYSEC-2026-4212 Docling: Configured HTTP headers sent to every remote image host named by a document
Summary HTMLBackendOptions.headers is documented for passing authentication headers API keys, bearer tokens when fetching remote images. docling sends these headers on every remote image request, to whichever host the document names. An untrusted document that references an attacker-controlled...
PYSEC-2026-4214 Docling has SSRF guard bypass in remote resource fetching (DNS rebinding / multi-record resolution; no IP validation in HTML render mode)
Summary When remote fetching is enabled enableremotefetch=True, together with fetchimages=True or HTML renderpage=True, docling's protection against requests to private and loopback addresses can be bypassed. - The URL check resolves the host name once, to a single IPv4 address. The HTTP request...
PYSEC-2026-4213 Docling: Crafted DoclingDocument JSON embeds local image files into converted output
Summary docling accepts serialized DoclingDocument JSON as an input format InputFormat.JSONDOCLING, enabled by default. A crafted JSON file can set a picture's image uri to a local file path. When the converted document is exported with embedded images ImageRefMode.EMBEDDED, the CLI default for...
PYSEC-2026-4210 Docling imports plugin entry points before the allow_external_plugins check
Summary allowexternalplugins=False the default, and the CLI default is meant to restrict docling to its own model plugins. However, docling's plugin factories call pluggy's loadsetuptoolsentrypoints, which imports every module registered under docling's plugin entry-point group. Only afterwards...
PYSEC-2026-4255 PraisonAI: Prompt Injection Defense Bypassed for HIGH-Level Threats
Summary Injection Defense is a purpose-built prompt injection defense layer. It scans LLM inputs through six detection categories: instruction overrides, authority claims, boundary manipulation, obfuscation, financial manipulation, and self-harm instructions. The defense is misconfigured by...
PYSEC-2026-4272 PraisonAI: DNS rebinding bypass in `web_crawl` SSRF protection allows internal response disclosure
Summary PraisonAI's webcrawl agent tool performs a server-side HTTP fetch of an agent/attacker-influenced URL. SSRF is meant to be prevented by issafecrawlurl, which resolves the hostname and rejects private/loopback/link-local IPs at validation time. The validated value is the URL string not a...
PYSEC-2026-4273 PraisonAI: Project config can auto-save agent output outside the project root
Project config can auto-save agent output outside the project root Summary praisonaiagents automatically reads project-local .praisonai/config.toml defaults when constructing an Agent. A repository-controlled config can set defaults.output.outputfile to an absolute path or a .. traversal path. Wh...
PYSEC-2026-4234 Langflow : Cross-user flow access and vertex execution via deprecated /api/v1/build/{flow_id}/vertices endpoints
Summary Before Langflow 1.10.1, two deprecated but still-routed endpoints in the chat API did not check that the authenticated caller owns the flow referenced in the URL path: - POST /api/v1/build/flowid/vertices retrieveverticesorder - POST /api/v1/build/flowid/vertices/vertexid buildvertex Any...
PYSEC-2026-4269 PraisonAI: Crawl4AI/Chromium backend is also affected by the `web_crawl` SSRF validation bypass
Summary The DNS-rebinding / redirect SSRF bypass in PRAI-05 is not limited to the httpx/urllib backend. When crawl4ai headless Chromium via Playwright is installed, webcrawl auto-selects provider=crawl4ai, and the headless browser re-resolves DNS and follows redirects on its own — with no...
PYSEC-2026-4237 Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration
Summary Before Langflow 1.10.3, the MCP stdio transport launched whatever command / args a user put in an MCP server configuration, with no allowlist and before 1.10.3 wrapped in bash -c "exec command ...". Any user able to reach the MCP server settings "Settings → MCP Servers → Add MCP Server",...
PYSEC-2026-4224 Hydra: Optuna custom_search_space can resolve and execute untrusted callables via get_method
Summary hydra-optuna-sweeper accepted a configuration-controlled dotted path in hydra.sweeper.customsearchspace, resolved it with the lower-level hydra.utils.getmethod API, and later invoked the returned callable. Hydra's object-lookup helpers intentionally trust their input and do not apply the...
PYSEC-2026-4241 Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration
Summary Before Langflow 1.10.3, the MCP stdio transport launched whatever command / args a user put in an MCP server configuration, with no allowlist and before 1.10.3 wrapped in bash -c "exec command ...". Any user able to reach the MCP server settings "Settings → MCP Servers → Add MCP Server",...
PYSEC-2026-4221 Hydra logging configuration permits unsafe callable resolution
Summary Hydra passed its Python logging configuration to logging.config.dictConfig. Python's logging configurator can resolve and invoke importable classes and factories named by configuration, including handler class values and formatter, filter, handler, queue, and listener factories. This...
PYSEC-2026-4222 Hydra: Mutable instantiate policy sets allow target blocklist bypass
Summary Hydra's legacy instantiate target blocklists and related execution-policy collections are stored in mutable module-level state. Because locate can resolve attributes on imported objects, a configuration can resolve a mutation method such as .discard, modify the active policy, and then...
PYSEC-2026-4230 Langflow has Authenticated Cross-Project File Disclosure via Unscoped MCP Resource Handlers
Summary Langflow's project-scoped MCP transport authenticates the caller for the projectid in the connection URL, but the subsequent resources/read operation does not authorize the resource URI being requested. An authenticated user can connect to their own project-scoped MCP endpoint and supply ...
PYSEC-2026-4311 WeasyPrint: EPS images reach the Ghostscript interpreter resulting in RCE
Summary This was found during a pentest, funded by the NLNnet foundation, conducted by Stefan Vink from Radically Open Security and the only High issue found. WeasyPrint passes fetched image bytes directly to Pillow's generic format dispatcher without restricting the input format. When Ghostscrip...
PYSEC-2026-4238 Langflow : Cross-user flow access and vertex execution via deprecated /api/v1/build/{flow_id}/vertices endpoints
Summary Before Langflow 1.10.1, two deprecated but still-routed endpoints in the chat API did not check that the authenticated caller owns the flow referenced in the URL path: - POST /api/v1/build/flowid/vertices retrieveverticesorder - POST /api/v1/build/flowid/vertices/vertexid buildvertex Any...
PYSEC-2026-4239 Langflow: OS command injection (RCE) via arbitrary command in MCP stdio server configuration
Summary Before Langflow 1.10.3, the MCP stdio transport launched whatever command / args a user put in an MCP server configuration, with no allowlist and before 1.10.3 wrapped in bash -c "exec command ...". Any user able to reach the MCP server settings "Settings → MCP Servers → Add MCP Server",...
PYSEC-2026-4223 Hydra instantiate target blacklist bypasses permit code execution
Summary Hydra's instantiate API resolves and invokes Python callables named by the target field in configuration. The target blacklist introduced for CVE-2026-68508 was incomplete. Representative bypasses included execution wrappers such as timeit.timeit, executable deserialization through...
PYSEC-2026-4229 Langflow: IP Spoofing Bypass via `X-Forwarded-For` Allowing Remote Configuration Write
Description: Summary An IP spoofing vulnerability in the Model Context Protocol MCP configuration installation endpoint POST /api/v1/mcp/project/projectid/install allowed authenticated remote attackers to bypass the "local-only" access restriction. By sending a spoofed X-Forwarded-For: 127.0.0.1...
PYSEC-2026-4304 Twisted: IMAP wildcardToRegexp() ReDoS
Summary wildcardToRegexp in twisted/mail/imap4.py converts IMAP LIST/LSUB wildcard patterns to Python regular expressions. It substitutes the two IMAP wildcards → ?:.? and % → ?:?:^\/? but passes every other character through unchanged to re.compile. This means that an authenticated IMAP client...
PYSEC-2026-4256 PraisonAI: Code Injection via f-string Interpolation in Deploy API Server Generation
Summary The deploy/api.py module generates Python server code by directly interpolating the agentsfile parameter into an f-string that is then written to a file and executed via subprocess.Popen. An attacker who controls the agentsfile value via CLI argument, configuration, or upstream API can...
PYSEC-2026-4316 wger: Trainer Privilege Escalation - Improper Privilege Management
Summary A user with only the gymtrainer permission can deactivate any account in the same gym, including gymmanager and generalgymmanager accounts. The UserDeactivateView grants access to anyone holding any one of gym.managegym, gym.managegyms, or gym.gymtrainer OR logic via...
PYSEC-2026-4315 wger: API credentials remain valid after logout/password change
Summary A vulnerability exists in the authentication/session lifecycle of wger where bearer-style API credentials remain valid after a user logs out and after a user changes their password. An attacker who steals a victim’s DRF authtoken Authorization: Token ... or JWT refresh token can continue ...
PYSEC-2026-4252 PraisonAI: AgentMail webhook mode accepts forged unsigned message.received events and invokes agents
AgentMail webhook mode accepts forged unsigned message.received events and invokes agents Summary praisonai AgentMail webhook mode exposes a public aiohttp webhook endpoint that accepts caller-controlled message.received JSON without verifying AgentMail's Svix webhook signatures, then dispatches...
PYSEC-2026-4263 PraisonAI: Platform members can delete owner issue dependencies through member-owned related issues
Platform members can delete owner issue dependencies through member-owned related issues Summary praisonai-platform issue dependency deletion can be authorized against the wrong side of a dependency edge. A workspace member cannot delete a dependency through the owner-created issue endpoint, but...
PYSEC-2026-4314 wger: Cross-User Data Corruption via Missing Ownership Check on WorkoutLog.slot_entry
Summary An authenticated attacker can inject arbitrary workout log entries into any other user's SlotEntry by supplying the victim's slotentry ID in a POST /api/v2/workoutlog/ request. The slotentry foreign key is not included in the ownership verification performed by...
PYSEC-2026-4259 PraisonAI: AgentMail webhook lacks signature verification, allowing unauthenticated message injection and sender spoofing
Summary PraisonAI's AgentMail bot, when run in webhook or hybrid mode, starts an aiohttp webhook server bound to 0.0.0.0 and processes inbound message.received events without verifying any signature/HMAC and without authentication. The sender address and message body are taken directly from the...
PYSEC-2026-4313 wger: cross-tenant admin notes/contracts leak via gym=None bypass (5 views)
Summary Five gym management views in wger apply a flawed gym-scope guard gyma != gymb that silently passes when both operands are None. A trainer with gym.gymtrainer and gym.addadminusernote permissions and no gym assignment gym=None can read private admin notes, uploaded documents, gym contracts...
PYSEC-2026-4312 Werkzeug safe_join() allows Windows special device names
Werkzeug's safejoin function allows Windows device names as filenames when they have an empty ADS marker on NTFS. This was previously reported as https://github.com/pallets/werkzeug/security/advisories/GHSA-hgf8-39gv-g3f2, but the added filtering failed to account for the fact Windows allows...
PYSEC-2026-4296 PyMongo: PYTHON-5996 Heap out-of-bounds write via signed size overflow in BSON document encoding
An integer overflow in the BSON document encoding component of the MongoDB Python Driver's bundled native extension may occur when a single document is built from an unusually large amount of caller-supplied data. Size arithmetic is performed in a signed 32-bit type, and the guard meant to catch...
PYSEC-2026-4231 Langflow: PythonREPLComponent executes unsandboxed Python code, enabling authenticated RCE and privilege escalation
Summary Langflow's built-in Python interpreter components — PythonREPLComponent Python Interpreter and the legacy PythonREPLToolComponent Python REPL Tool — executed arbitrary user- or model-supplied Python code inside flows without effective sandboxing. Because the code ran in-process with the...
PYSEC-2026-4297 PyMongo: PYTHON-5986 Host injection in PyMongo connection string parsing via percent-encoded delimiters
Summary PyMongo percent-decoded the entire host section of a connection string before splitting it into individual host:port entries. A percent-encoded , or : in a hostname therefore decoded into a real delimiter, injecting an additional attacker-chosen host and port into the client's seed list...
PYSEC-2026-4209 Docling: METS-GBS archive member limit enforced after full member enumeration (memory exhaustion during format detection)
Summary When docling detects the input format of a gzip-compressed tar archive METS-GBS, and later when the METS-GBS backend opens it, it calls tarfile.TarFile.getmembers. That builds the full member list in memory before the maxmembercount limit is checked. A small archive with a very large numb...
PYSEC-2026-4317 wger: trainer_login accepts GET - CSRF bypass enables forced session rebinding
Summary The trainerlogin view in wger accepts GET requests and executes djangologin without any CSRF protection, because Django's CsrfViewMiddleware only enforces tokens on unsafe methods POST/PUT/PATCH/DELETE. An attacker can embed a single tag on a malicious page; when an authenticated trainer...
PYSEC-2026-4308 vLLM: Harmony tool continuations drop `cache_salt` — restoring a cross-tenant prefix-cache membership oracle
Affected - Ecosystem / package: pip / vllm - Affected versions: vLLM ≤ 0.25.1 confirmed on 0.25.1, commit 752a3a504485. The lower bound predates 0.25.1; maintainers can confirm how far back the tool-continuation re-submission has omitted the salt. Summary On the GPT-OSS "Harmony" path POST...
PYSEC-2026-4215 Docling: `enable_local_fetch` is not enforced in HTML browser-rendering mode
Summary When the HTML backend renders pages in a headless browser HTMLBackendOptionsrenderpage=True, the enablelocalfetch option is not enforced. A crafted HTML file can embed an arbitrary local file for example with , and that file's contents appear in the page image attached to the returned...
PYSEC-2026-4245 openapi-python-client: Malicious OpenAPI Documents can cause Arbitrary Code Generation
Impact A malicious OpenAPI document processed by any openapi-python-client prior to 0.29.1 can generate arbitrary Python code. When anyone imports the malicious client, that arbitrary Python code will execute. Patches Versions starting with 0.29.1 have updated with guardrails to prevent arbitrary...
PYSEC-2026-4310 vLLM: Qwen2-VL / Qwen3-VL video samplers bound on request-controlled max_frames, which the num_frames ceiling does not reach
Summary An unauthenticated remote attacker can exhaust the memory of the vLLM API-server process by raising the request-level mediaiokwargs.video.maxframes and fps knobs on any deployment serving a Qwen2-VL or Qwen3-VL model. 74 extra bytes of JSON took the server's peak RSS from 2 271 MiB to 13...
PYSEC-2026-4305 uv: Path traversal on Windows through wheel extraction
Impact In versions of uv from 0.12.7 to 0.12.18 on Windows, uv could be induced into writing a file outside of the installation prefix during wheel installation. A malicious wheel could use this to place an executable outside of the intended environment, including in a directory already present o...
PYSEC-2026-4244 Multidict: Reference leak in CIMultiDict/MultiDict items-view union and subtraction
Description A reference leak in the items-view union and subtraction operators of aio-libs/multidict 6.7.0 through 6.9.0 C extension lets a remote client drive unbounded, unreclaimable memory growth by having each operand element leak one key-identity object and one value object. The...
PYSEC-2026-4307 vLLM: GLMGA video sampling permits request-driven CPU and memory exhaustion
Summary The OpenAI-compatible chat endpoint accepts request-level video loader options through mediaiokwargs. A caller can select the GLMGA sampler and provide large fps and maxframes values. GLMGA first constructs an attacker-sized Python index list and then deduplicates it, even when the suppli...
PYSEC-2026-4306 vLLM: Loose `cache_salt` validation lets a single request kill EngineCore on LMCache-MP deployments — uncaught downstream `ValueError` denial of service
Affected - Ecosystem / package: pip / vllm - Affected versions: vLLM ≤ 0.25.1 confirmed on 0.25.1, commit 752a3a504485. The lower bound predates 0.25.1; maintainers can confirm how far back the loose cachesalt validator and unguarded scheduling-path lookup reach. Summary vLLM's OpenAI-compatible...
PYSEC-2026-4295 PyMongo: PYTHON-5990 Forced Unix domain socket connection via a .sock KMS endpoint in client-side field level encryption
Summary PyMongo passed the KMS endpoint of a data key verbatim into parsehost, which returns any string ending in .sock unchanged instead of validating it as a hostname and port. The driver's connection code then treats such an address as a Unix domain socket path and connects to it with AFUNIX...
PYSEC-2026-4309 vLLM: Scale-out disaggregated multimodal transport trusts caller-supplied features
Affected - Ecosystem / package: pip / vllm - Affected versions: vLLM ≤ 0.25.1 confirmed on 0.25.1, commit 752a3a504485. The lower bound predates 0.25.1; maintainers can confirm how far back the scale-out transport path reaches. Summary vLLM's disaggregated scale-out transport splits a multimodal...