Advisories
Security vulnerabilities, privacy incidents, safety concerns, and policy updates affecting LLMs and AI agents.
Security vulnerabilities, privacy incidents, safety concerns, and policy updates affecting LLMs and AI agents.
3,134 items
Docling versions 2.107.0 through 2.120.3 are affected by CVE-2026-105751 in docling/backend/opendocument_backend.py. When an xlink:href value on a draw:image element points to a part missing from the archive, the _image_ref_from_odf_image function reads it as a filesystem path with no scheme check, no extraction-directory confinement, and no enable_local_fetch check. Readable image files are embedded in converted output, and other paths can be told apart through the read attempt.
Fix: Fixed in 2.120.3.
NVD/CVE DatabaseDocling, a document processing library, versions 2.82.0 through 2.118.1 are affected by CVE-2026-105750. When HTMLBackendOptions(render_page=True) is used with Playwright installed, HTMLDocumentBackend._get_browser_request_block_reason fails to enforce enable_local_fetch or confine local requests to the source document directory, so file URLs are permitted. Crafted path-backed HTML can embed a readable local text file in a browser-rendered page image. Only filesystem Path inputs are affected; stream inputs, the default configuration, the command-line interface, docling-serve, and non-rendering backends are not.
Docling, a document-parsing library with generative AI integrations, has a resource exhaustion flaw in its HTML, JATS, OpenDocument spreadsheet, and BoxNote backends (docling/backend/html_backend.py, docling/backend/jats_backend.py, docling/backend/boxnote_backend.py) in versions 2.0.0 through 2.131.0. These backends accept unbounded rowspan and colspan values and allocate a table grid proportional to the declared span, so a very small document can cause sustained CPU use or multi-gigabyte memory allocation. The document_timeout setting does not interrupt the single backend conversion call, and exporting through TableData.grid can materialize the oversized grid.
Docling versions 2.16.0 through 2.131.0 contain a flaw in the InputFormat.JSON_DOCLING backend (docling/backend/json/docling_json_backend.py). It accepts serialized DoclingDocument input without rejecting picture image references that point to local paths or file URIs. When the document is exported with ImageRefMode.EMBEDDED, the DoclingDocument._with_embedded_pictures and ImageRef.pil_image methods open those references, so readable image bytes can appear in Markdown or HTML output, limited to files Pillow can decode as images. Differing decode behavior can also reveal whether a path exists. Direct untrusted loading through docling-core is outside this fix.
Docling, a document processing library, versions 2.45.0 through 2.131.0, calls tarfile.TarFile.getmembers() in METS-GBS format detection (docling/datamodel/document.py) and in docling/backend/mets_gbs_backend.py before max_member_count is enforced. A small gzip-compressed tar with a very large number of empty members can therefore consume memory proportional to its declared member count, including during format detection before allowed_formats is applied. This is a residual weakness in the protection added for CVE-2026-44018.
Docling versions 2.83.0 through 2.131.0 send page images to a configured OCR endpoint through KServeV2OcrModel in docling/models/stages/ocr/kserve_v2_ocr_model.py, without checking pipeline_options.enable_remote_services, even when it is set to false. StandardPdfPipeline._make_ocr_model also fails to pass that flag into the OCR factory, so remote OCR runs in configurations that rely on remote services being disabled. The destination is set by the caller, not chosen by an attacker.
Docling, a document processing library, runs plugin factories in docling/models/factories/base_factory.py that call load_setuptools_entrypoints() before checking allow_external_plugins. From 2.27.0 until 2.131.0, every module in the Docling entry-point group is imported even when external plugins are disabled. An installed third-party or compromised package can therefore run import-time code when Docling starts, and the namespace filter wrongly reports that the plugin was not loaded.
Fixed in 2.131.0.
Docling, a document processing library, versions 2.94.0 through 2.132.0 are affected when callers opt into LatexBackendOptions(tikz_engine="tectonic"). The Tectonic engine in docling/backend/latex/engines/tectonic.py compiles untrusted TikZ and preamble input without restricting TeX file primitives such as \openin and \openout. Crafted input can read files available to the converter and create or overwrite writable files, and enabling tikz_engine_allow_shell_escape additionally permits shell commands. The default configuration is not affected.
Fixed in 2.132.0.
Docling, from 2.91.0 through 2.132.0, has a flaw in validate_url_safety (docling/backend/utils/image_resource_loader.py). It checks a hostname with a single IPv4 lookup, then lets the HTTP client resolve the original URL again, which allows DNS rebinding and mixed public and internal address records to reach internal services. HTMLBackendOptions(render_page=True) also permits HTTP and HTTPS browser requests without validating their resolved destination. Exploitation requires remote fetching to be enabled, and response content is exposed only when decoded as an image or passively rendered in a page screenshot.
Docling versions 2.95.0 through 2.132.0 have a flaw in the HTML image resource loader in docling/backend/utils/image_resource_loader.py. When enable_remote_fetch=True and fetch_images=True, the loader sends headers set in HTMLBackendOptions.headers to every remote image URL in an untrusted document, including across cross-origin redirects. A document author could therefore obtain the caller's configured credentials, such as API keys and cookies. The default configuration is not affected.
Fixed in 2.132.0.
Langflow versions 1.5.0 through 1.10.3 contain an IP spoofing flaw in the MCP configuration installation endpoint, POST /api/v1/mcp/project/{project_id}/install. An authenticated remote attacker can send a spoofed X-Forwarded-For: 127.0.0.1 header, making the server treat the request as local and bypass the "local-only" restriction. This lets the attacker write or overwrite an MCP client configuration file on the server's filesystem.
Fix: Fixed in 1.10.3.
CVE-2026-105740 affects Langflow versions prior to 1.9.0. Any authenticated user can add an MCP server with the "Stdio" transport, and the user-supplied command field is passed directly to bash -c "exec {command}" with no validation, allowlisting, or sandboxing, so the command runs on the server as soon as the server list is fetched. The env field also permits arbitrary environment variable injection, such as LD_PRELOAD or a PATH override.
Fix: Fixed in 1.9.0.
Langflow versions from 1.6.8 through 1.9.1 fail to authorize the resource URI passed to resources/read on project-scoped MCP connections. An authenticated user with access to any project-scoped MCP endpoint can read another user's flow-backed files, including uploaded documents, structured data, prompts and other private flow artifacts. Global handle_list_resources and handle_list_tools behavior can also disclose the flow and file identifiers needed to target them. Victim files and stored flows are not modified.
Fixed in 1.9.1.
Langflow versions 1.0.0 through 1.10.1 did not verify flow ownership in the deprecated POST /api/v1/build/{flow_id}/vertices and POST /api/v1/build/{flow_id}/vertices/{vertex_id} handlers. Through 1.7.1, an unauthenticated caller who knew another user's flow UUID could reach them; from 1.7.2 through 1.10.0, any authenticated caller without elevated privileges could. The caller could load and cache a private graph, enumerate its vertices, and execute selected vertices to receive their results, disclosing flow structure, configured values and outputs, and triggering victim-configured side effects. Variable-store credentials could not be exposed and the stored flow could not be modified.
CVE-2026-105697 affects Langflow before 1.10.3, where the MCP stdio transport ran whatever command and args a user placed in an MCP server configuration, with no allowlist and, before 1.10.3, wrapped in bash -c "exec {command} ...". Any user who can reach the MCP server settings (POST/PATCH /api/v2/mcp/servers/{server_name}) or build a flow with the MCP Tools component can run an arbitrary OS command on the Langflow host as the Langflow process user, when Langflow connects to the server, even if the UI then reports a startup failure. With the default LANGFLOW_AUTO_LOGIN=true, GET /api/v1/auto_login issues a token without credentials, so the flaw is reachable without an account on an exposed default instance; with AUTO_LOGIN disabled, any authenticated non-admin user can exploit it.
A flaw in ChatGPTNextWeb NextChat up to version 2.16.1 affects the proxyHandler function in app/api/proxy.ts, within the Proxy Fallback Handler component. Manipulating the x-base-url argument causes server-side request forgery, and the attack can be launched remotely. A public exploit has been published, and a pull request to fix the issue is awaiting acceptance.
CVE-2026-104247 affects vtcode versions below 0.171.5. An empty ANSI-C quote spliced into a find flag (for example -exe$''c) bypasses the is_destructive_find_option check, so the command is still treated as a safe find. Once the agent has learned that find family from three prior approvals, prompt_tool_permission auto-approves it and the shell runs it as the user running VTCode, with no new prompt. Exploitation requires a local session, those prior approvals, and something that can steer the agent, such as indirect prompt injection.
Fix: Upgrade to VTCode 0.171.5 or later. Until upgrading, do not rely on learned find approvals. The 0.171.5 release (PR #778, commit 5840697cd0dc8f94b9b53d88185329eecba8de11) refuses family learning for path-qualified find, mixed-case or quote-spliced flags, wrapper and environment prefixes, and compound commands.
A vulnerability has been found in Weaviate Verba up to 2.1.3. The function get_environment in goldenverba/components/util.py, reached through the generate_stream Endpoint component, can be manipulated to disclose information. The attack can be launched remotely, and the exploit is public. The vendor was contacted early but did not respond.
The SupportCandy AI Customer Support Ticket System and Live Chatbot Agent plugin for WordPress is vulnerable to time-based SQL injection through the 'sort_by' parameter in all versions up to and including 3.5.3. The flaw stems from insufficient escaping of user-supplied input and a SQL query that is not sufficiently prepared. An authenticated attacker can append SQL queries to existing ones and extract sensitive information from the database. Exploitation requires a Subscriber-level or higher WordPress role and a SupportCandy Agent account with the 'Assign Agents' permission.
CVE-2026-94378 affects the SupportCandy AI Customer Support Ticket System and Live Chatbot Agent plugin for WordPress in all versions up to and including 3.5.3. The 'name' parameter lacks sufficient input sanitization and output escaping, enabling Stored Cross-Site Scripting. An authenticated attacker with subscriber-level access or above can inject web scripts that execute whenever a user views an injected page. The exploit chain requires the 'Register user if not exists' setting to be disabled, which is its default configuration.
Fix: Fixed in 2.118.1.
Fix: This issue is fixed in 2.131.0.
NVD/CVE DatabaseFix: Fixed in 2.131.0.
NVD/CVE DatabaseFix: Fixed in 2.131.0.
Fix: Fixed in 2.131.0.
NVD/CVE DatabaseFix: Fixed in 2.132.0.
NVD/CVE DatabaseFix: Fixed in Langflow 1.10.1 and langflow-base 0.10.1.
NVD/CVE DatabaseFix: Fixed in Langflow 1.10.3, langflow-base 0.10.3, and lfx 1.10.3.
NVD/CVE Database