<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <atom:link href="https://vulnwatch.ai/feed" rel="self" type="application/rss+xml" />
        <title><![CDATA[VulnWatch — AI Security Tracker]]></title>
        <link><![CDATA[https://vulnwatch.ai/feed]]></link>
        <description><![CDATA[Curated AI/ML security vulnerabilities, advisories, and breach disclosures.]]></description>
        <language>en-US</language>
        <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>

                    <item>
                <title><![CDATA[CVE-2026-61808: LightRAG provides simple and fast retrieval-augmented generation. Through version 1.5.4, the LightRAG API server binds t]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-61808</link>
                <description><![CDATA[LightRAG provides simple and fast retrieval-augmented generation. Through version 1.5.4, the LightRAG API server binds to all network interfaces with authentication disabled by default, allowing an unauthenticated network attacker to read indexed document content, upload or delete documents, modify the knowledge graph, cancel pipelines, clear caches, and consume LLM resources. This issue is mitigated in version 1.5.5rc1.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 00:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-48039: Meta Ads MCP is a Model Context Protocol (MCP) server that lets AI assistants run Meta Ads. Prior to version 1.0.109, `A]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-48039</link>
                <description><![CDATA[Meta Ads MCP is a Model Context Protocol (MCP) server that lets AI assistants run Meta Ads. Prior to version 1.0.109, `AuthInjectionMiddleware.dispatch()` at `http_auth_integration.py:272` unconditionally forwards unauthenticated Streamable HTTP requests to downstream MCP tool handlers without issuing a `401` response, allowing any network-reachable caller to invoke MCP tools without authentication. When no per-request credential is present, tool handlers fall back to the `META_ACCESS_TOKEN` environment variable, and when the downstream Meta Graph API call fails, `api.py:263–269` serialises the raw `httpx` request URL—including the operator's `access_token` as a query parameter—into the JSON-RPC response body, delivering the credential to the unauthenticated caller. Version 1.0.109 fixes the issue.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 00:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-71847: Ruby JSON is a JSON implementation for Ruby. From 2.20.0 until 2.21.2, Ruby's JSON native C extension clears the consume]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-71847</link>
                <description><![CDATA[Ruby JSON is a JSON implementation for Ruby. From 2.20.0 until 2.21.2, Ruby's JSON native C extension clears the consumed JSON::ResumableParser input buffer but leaves state.start, state.cursor, and state.end pointing into released storage. When partial_value reconstructs an incomplete object containing duplicate keys, the duplicate-key warning path calls cursor_position, which dereferences those stale pointers. This results in a heap-use-after-free and can terminate the Ruby process. An attacker who can supply JSON stream data to an application using JSON::ResumableParser may cause process termination when the application calls partial_value on incomplete attacker-controlled input containing duplicate object keys. This issue has been fixed in version 2.21.2.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 00:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Ruby JSON: JSON::ResumableParser#partial_value dereferences a freed input buffer and crashes on truncated duplicate-key streams]]></title>
                <link>https://github.com/advisories/GHSA-9hj4-r449-hfvc</link>
                <description><![CDATA[### Summary

Ruby's JSON native C extension clears the consumed `JSON::ResumableParser` input buffer but leaves `state.start`, `state.cursor`, and `state.end` pointing into released storage.

When `partial_value` reconstructs an incomplete object containing duplicate keys, the duplicate-key warning path calls `cursor_position`, which dereferences those stale pointers. This results in a heap-use-after-free and can terminate the Ruby process.

An attacker who can supply JSON stream data to an application using `JSON::ResumableParser` may cause process termination when the application calls `partial_value` on incomplete attacker-controlled input containing duplicate object keys.

The issue was reproduced in the native C extension from the official RubyGems releases:

* JSON 2.20.0
* JSON 2.21.0
* JSON 2.21.1

The attached evidence demonstrates:

* an AddressSanitizer-confirmed heap-use-after-free;
* a native `SIGSEGV` using the official JSON 2.21.1 RubyGem;
* an end-to-end loopback TCP attacker/victim reproduction;
* four differential controls;
* successful execution after applying a tested patch control.

This was originally reported privately through Ruby's HackerOne program as report `#3867755`. A Ruby maintainer independently confirmed reproduction of the ASan failure and requested that further coordination continue through this private advisory.

No code execution or information disclosure is claimed.

### Details

The affected source is:

```text
ext/json/ext/parser/parser.c
```

The vulnerable sequence in JSON 2.21.1 is:

1. `cResumableParser_parse` reaches the end of the current input buffer.
2. It calls `json_str_clear(parser->buffer)`.
3. It sets `parser->buffer = Qfalse`.
4. The parser-state pointers into the released buffer are not reset.
5. `partial_value` makes a shallow copy of the parser state.
6. Reconstructing an incomplete object containing duplicate keys reaches the duplicate-key warning path.
7. `cursor_position` walks through the stale input pointers and reads released memory.

Relevant source locations:

* Buffer release:
  https://github.com/ruby/json/blob/fd61def38b9bb859fee7eec8e7d3143600e5b347/ext/json/ext/parser/parser.c#L2562-L2569

* Parser-state copy:
  https://github.com/ruby/json/blob/fd61def38b9bb859fee7eec8e7d3143600e5b347/ext/json/ext/parser/parser.c#L2647-L2654

* Stale-pointer read in `cursor_position`:
  https://github.com/ruby/json/blob/fd61def38b9bb859fee7eec8e7d3143600e5b347/ext/json/ext/parser/parser.c#L590-L628

* Duplicate-key handling path:
  https://github.com/ruby/json/blob/fd61def38b9bb859fee7eec8e7d3143600e5b347/ext/json/ext/parser/parser.c#L1196-L1255

When input is supplied to the resumable parser, the parser state stores direct pointers into the backing Ruby string:

```c
RSTRING_GETMEM(parser->buffer, start, len);
parser->state.start = start;
parser->state.end = start + len;
parser->state.cursor = parser->state.start + offset;
```

After the current buffer has been consumed, `cResumableParser_parse` clears the string and removes the parser's reference to it:

```c
if (eos(&parser->state)) {
    json_str_clear(parser->buffer);
    parser->buffer = Qfalse;
}
```

This path does not invalidate or replace:

```text
parser->state.start
parser->state.cursor
parser->state.end
```

`JSON::ResumableParser#partial_value` subsequently makes a shallow copy of the parser structure:

```c
JSON_ResumableParser *original_parser = cResumableParser_get(self);
JSON_ResumableParser parser = *original_parser;
```

When the partial object contains duplicate keys, reconstruction follows this call path:

```text
cResumableParser_partial_value_body
  -> json_decode_object
  -> json_on_duplicate_key
  -> emit_duplicate_key_warning
  -> emit_parse_warning
  -> cursor_position
```

`cursor_position` then reads through pointers that may refer to released storage.

AddressSanitizer reports:

```text
ERROR: AddressSanitizer: heap-use-after-free
cursor_position at parser.c:604
freed by cResumableParser_parse at parser.c:2567
```

The reproducer follows the normal resumable-parser API sequence:

```ruby
parser]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 01:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Claude Code and Gemini CLI Flaws Let a GitHub Issue Reach CI Workflow Secrets]]></title>
                <link>https://thehackernews.com/2026/08/claude-code-and-gemini-cli-flaws-let.html</link>
                <description><![CDATA[A GitHub issue opened by an account with no repository privileges was enough to execute code on the CI runners behind Anthropic's and Google's own coding-agent repositories. On OpenAI's, it was enough to hijack the next agent run.

Novee Security ran the attack against each vendor's agent in the configuration that the vendor ships by default, and presented the work at Black Hat USA on August 5.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-12261: A vulnerability in `nltk.downloader` in nltk/nltk versions <= 3.9.4 allows for cross-package resource and model poisonin]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-12261</link>
                <description><![CDATA[A vulnerability in `nltk.downloader` in nltk/nltk versions]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 00:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[OpenAI rolls out a major ChatGPT upgrade, even if you don’t pay for it]]></title>
                <link>https://www.bleepingcomputer.com/news/artificial-intelligence/openai-rolls-out-a-major-chatgpt-upgrade-even-if-you-dont-pay-for-it/</link>
                <description><![CDATA[OpenAI is rolling out a more reliable version of ChatGPT GPT-5.6 Sol for Plus and Pro users, while Free users are getting unlimited text chats with GPT-5.6 Luna. [...]]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-70640: llama.cpp builds b1886 through b7445 contain a race condition use-after-free vulnerability in the LLaMA-Android JNI wrap]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-70640</link>
                <description><![CDATA[llama.cpp builds b1886 through b7445 contain a race condition use-after-free vulnerability in the LLaMA-Android JNI wrapper where bench_1model() and free_1context() lack synchronization, allowing Thread A to operate on freed memory while Thread B concurrently frees the llama_context. Attackers can exploit this by performing heap spray with attacker-controlled data containing a fake vtable to hijack the vtable pointer at offset +0x30, causing llama_batch_allocr::clear() to dereference arbitrary memory and achieve remote code execution.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-70639: llama.cpp builds b1886 through b7445 contain a null pointer dereference vulnerability in the LLaMA-Android JNI wrapper w]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-70639</link>
                <description><![CDATA[llama.cpp builds b1886 through b7445 contain a null pointer dereference vulnerability in the LLaMA-Android JNI wrapper where the bench_1model() function fails to validate the model context pointer before dereferencing it. Attackers can supply a malicious, corrupt, or truncated model file to trigger a null context condition, causing a SIGSEGV crash that terminates the Android application process and results in denial of service.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-70638: llama.cpp builds b1886 through b7445 contain an integer overflow vulnerability in the LLaMA-Android JNI wrapper where th]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-70638</link>
                <description><![CDATA[llama.cpp builds b1886 through b7445 contain an integer overflow vulnerability in the LLaMA-Android JNI wrapper where the new_1batch() function multiplies sizeof(llama_seq_id) by an attacker-controlled n_seq_max parameter without overflow validation, causing heap buffer allocation to wrap and allocate insufficient memory. Attackers can exploit this by providing a crafted n_seq_max value through a malicious model file or JNI call to trigger heap corruption and achieve denial of service or arbitrary code execution on Android applications using the LLaMA-Android binding.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-67622: Flowise through 3.1.4 contains an insecure direct object reference vulnerability in the OpenAI Assistants integration th]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-67622</link>
                <description><![CDATA[Flowise through 3.1.4 contains an insecure direct object reference vulnerability in the OpenAI Assistants integration that allows authenticated attackers to access credentials belonging to other workspaces by supplying an arbitrary credential UUID to Assistants endpoints without workspace ownership verification. Attackers can enumerate cross-workspace assistant metadata, retrieve file and vector store listings, and upload files into victim workspaces by exploiting the missing workspace-scoped authorization check in the credential lookup logic.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-67621: Flowise through 3.1.4 contains a missing authorization vulnerability that allows authenticated workspace members to perf]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-67621</link>
                <description><![CDATA[Flowise through 3.1.4 contains a missing authorization vulnerability that allows authenticated workspace members to perform unauthorized document store operations by accessing unprotected mutation endpoints. Attackers holding only view-level permissions can send direct HTTP requests to the upsert and refresh document store routes to trigger document ingestion, refresh vector database contents, consume embedding API credits, and modify knowledge bases used by downstream chatflows.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43632: llama.cpp builds b7492 through the latest b9060 contains a use-after-free vulnerability in llama-server affecting six to]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43632</link>
                <description><![CDATA[llama.cpp builds b7492 through the latest b9060 contains a use-after-free vulnerability in llama-server affecting six tokenization endpoints (/tokenize, /detokenize, /infill, /apply-template, /rerank, and /anthropic/count_tokens) that bypass the task queue and access ctx_server.vocab directly on HTTP worker threads. Attackers can exploit a time-of-check-time-of-use race condition where the main thread destroys and frees vocab after the synchronization lock is released but before the handler finishes using it, causing a crash or potential code execution when --sleep-idle-seconds is configured.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43631: llama.cpp builds b7492 through the latest b9060 contains a use-after-free vulnerability in the vocab pointer of llama-se]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43631</link>
                <description><![CDATA[llama.cpp builds b7492 through the latest b9060 contains a use-after-free vulnerability in the vocab pointer of llama-server when the --sleep-idle-seconds feature is enabled, allowing unauthenticated remote attackers to execute arbitrary code. Attackers can trigger the vulnerability by sending requests to affected endpoints while the server transitions to sleep mode, causing concurrent worker threads to dereference a freed vocab pointer that can be reclaimed with attacker-controlled data to achieve remote code execution.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43630: llama.cpp builds b5702 through b7653 contain an out-of-bounds read vulnerability in the recurrent memory state restore p]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43630</link>
                <description><![CDATA[llama.cpp builds b5702 through b7653 contain an out-of-bounds read vulnerability in the recurrent memory state restore path that allows attackers with write access to the slot save directory to read memory past the end of the allocated cells array. Attackers can craft a malicious slot file with an oversized seq_id value to trigger an out-of-bounds read that leaks heap data including pointer values into server logs, defeating ASLR protections and facilitating further exploitation.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43629: llama.cpp builds b4882 through b9058 contain a heap buffer overflow vulnerability in the KV cache state restore path whe]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43629</link>
                <description><![CDATA[llama.cpp builds b4882 through b9058 contain a heap buffer overflow vulnerability in the KV cache state restore path where the state_read_data() function computes write size without overflow checking, allowing attackers with write access to the slot_save_path directory to corrupt heap memory. Attackers can craft malicious state files where cell_count multiplication overflows or exceeds tensor buffer allocation to write attacker-controlled bytes past buffer boundaries, potentially resulting in heap metadata corruption, model weight corruption, or arbitrary code execution via function pointer overwrite.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43628: llama.cpp builds b3978 through b9058 contain an integer underflow and out-of-bounds read vulnerability in the DRY sample]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43628</link>
                <description><![CDATA[llama.cpp builds b3978 through b9058 contain an integer underflow and out-of-bounds read vulnerability in the DRY sampler that allows unauthenticated attackers to trigger a heap buffer underflow by sending a crafted HTTP request with dry_allowed_length set to INT32_MIN to the /v1/completions or /v1/chat/completions endpoints. Attackers can exploit this vulnerability to crash the server with SIGSEGV causing denial of service for all connected users, or corrupt token sampling probabilities by reading garbage values from memory before the allocated buffer.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43627: llama.cpp builds b1283 through b9058 contain an integer overflow vulnerability in the llama_batch_init() function where ]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43627</link>
                <description><![CDATA[llama.cpp builds b1283 through b9058 contain an integer overflow vulnerability in the llama_batch_init() function where unchecked multiplications in malloc() calls can wrap past INT32_MAX when computing allocation sizes. Attackers can pass specially crafted parameters to trigger integer overflow, causing heap corruption and potentially achieving arbitrary code execution through subsequent batch operations that write past allocated buffer boundaries.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-19111: Insecure direct object reference in the mongodb_memory, elasticsearch_memory, and mem0_memory tools in Amazon Strands Ag]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-19111</link>
                <description><![CDATA[Insecure direct object reference in the mongodb_memory, elasticsearch_memory, and mem0_memory tools in Amazon Strands Agents Tools before 0.8.3 might allow remote authenticated users to access, modify, or delete memories belonging to other tenants by influencing the LLM to emit tool calls with a forged namespace parameter.



To remediate this issue, users should upgrade to version 0.8.3.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 18:00:03 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Traefik: Incomplete fix for CVE-2026-33433 + CVE-2026-39858 cross-cohort: headerField underscore-variant identity spoofing in BasicAuth / DigestAuth / ForwardAuth]]></title>
                <link>https://github.com/advisories/GHSA-x677-9fxg-v5c5</link>
                <description><![CDATA[## Summary

There is a high severity vulnerability in Traefik's BasicAuth, DigestAuth, and ForwardAuth
middlewares. The fix for CVE-2026-33433 stripped canonical-cased spoofed identity headers
(e.g. `X-Auth-User`) before writing Traefik's own value, but did not account for
underscore-variant header names (e.g. `X_Auth_User`), which many backends normalize
identically to the dashed form. An attacker able to reach a protected route could inject
an underscore-variant header that survives Traefik's stripping and reaches the backend
alongside — or, on the unauthenticated ForwardAuth `authResponseHeaders` path, instead of
— the value Traefik intended to set, spoofing identity or authorization context. This is
fixed by setting the new `allowHeadersWithUnderscores: false` entry point option, which
strips all headers with underscores in their names before routing.

## Patches

- https://github.com/traefik/traefik/releases/tag/v2.11.51
- https://github.com/traefik/traefik/releases/tag/v3.6.22
- https://github.com/traefik/traefik/releases/tag/v3.7.6

## For more information

If you have any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues).


Original Description

# Incomplete fix for CVE-2026-33433 + CVE-2026-39858 cross-cohort: `headerField` underscore-variant identity spoofing in BasicAuth / DigestAuth / ForwardAuth

## Summary

The fix for CVE-2026-33433 (GHSA-qr99-7898-vr7c, "BasicAuth/DigestAuth Identity Spoofing via Non-Canonical headerField", patched in v2.11.42 / v3.6.12 / v3.7.0-ea.3) added `req.Header.Del(headerField)` before the literal-key writeback in `pkg/middlewares/auth/basic_auth.go` and `pkg/middlewares/auth/digest_auth.go`. Go's `Header.Del` calls `textproto.CanonicalMIMEHeaderKey` which canonicalizes ASCII CASE and treats `-` as a word separator — so the fix correctly strips canonical-cased attacker headers (`X-Auth-User`, `x-auth-user`, `X-AUTH-USER`, etc.).

However, `textproto.CanonicalMIMEHeaderKey` does **NOT** treat `_` as a separator. Attacker-supplied **underscore-variant** headers such as `X_Auth_User` survive `Header.Del("X-Auth-User")` intact and are forwarded to the backend alongside Traefik's own writeback. Many common backends (CGI/WSGI per RFC 3875, PHP `$_SERVER`, nginx with `underscores_in_headers on`, Tomcat / Java EE servlet containers, ASGI/WSGI frameworks) normalize `_` ↔ `-` equivalently or expose both forms to application code that may read the attacker's value.

This is the **direct cross-cohort sibling** of the threat model the maintainer accepted in **CVE-2026-39858** (GHSA-5m6w-wvh7-57vm, "Forwarded alias spoofing pre-auth decision bypass"), which fixed the underscore-variant of the X-Forwarded-* family via `isManagedXHeader` in `pkg/middlewares/forwardedheaders/forwarded_header.go`. The CVE-2026-39858 advisory body states verbatim:

> "When the backend normalizes underscore and dash header forms equivalently, an attacker can inject spoofed trust context — such as a trusted scheme or host — through the alias headers and bypass authentication on protected routes without valid credentials."

The same threat model applies to the operator-configurable `headerField` (BasicAuth, DigestAuth) and `authResponseHeaders` (ForwardAuth, ingress-nginx snippet provider), but the underscore-handling primitive (`isManagedXHeader`) was not extended to those middlewares. I verified the bypass end-to-end on `traefik:v3.6.14` (the latest patched release containing both fixes) using a default-recommended canonical `headerField: "X-Auth-User"` config and reproduced the bypass with a single `curl -H "X_Auth_User: superadmin" ...` request alongside valid BasicAuth credentials.

The defect is present in four code paths at HEAD `eec68dce064f843b4317c4393aaea81b6dea31d6`:

1. `pkg/middlewares/auth/basic_auth.go:101-105` — BasicAuth `headerField`
2. `pkg/middlewares/auth/digest_auth.go:99-103` — DigestAuth `headerField`
3. `pkg/middlewares/auth/forward.go:304-310` — ForwardAuth `authResponseHeaders` per-name writeback
4. `pkg/middlewares/ingressnginx/snippet/snippet.go:480-486` — Ingress-NGINX snippet `authResponseHeaders` per-name writeback

The ForwardAuth instance (#3) is particularly notable: the attacker does NOT need credentials. The `authResponseHeaders` mechanism is intended to copy identity headers from the trusted auth server only; the underscore-variant bypass lets an unauthenticated attacker pre-inject the same identity header before any auth happens.

The fast proxy at `pkg/proxy/fast/proxy.go:139` explicitly calls `DisableNormalizing()` on the outgoing fasthttp request, guaranteeing that the underscore-variant header reaches the backend wire verbatim. The standard `httputil.ReverseProxy` path at `pkg/proxy/httputil/proxy.go:55` likewise copies `req.Header` keys as-is during the wire write.

## Affected versions

- `traefik` v3.6.x ≤ 3.6.14, v3.7.x ≤ 3.7.0-rc.2, v2.11.x ≤ 2.11.43, and all earlier versions sharing the same auth middleware architecture.

The defect is present at HEAD post-CVE-2026-33433 fix (the fix added the `Del` line but the literal-key write defect-class survives for underscore variants).

## Root cause

In `pkg/middlewares/auth/basic_auth.go` at HEAD `eec68dc`:

```go
if b.headerField != "" {
    // TODO Deprecated we should add the header with canonical key.
    req.Header.Del(b.headerField)
    req.Header[b.headerField] = []string{user}
}
```

The TODO comment shows the maintainer is aware of the literal-key write problem in general (canonical-key write would solve the case-canonicalization issue more cleanly than the current `Del` + literal-write pair). The comment does not acknowledge the underscore-variant survival corollary.

`pkg/middlewares/auth/digest_auth.go:99-103` and the two ForwardAuth paths follow the same `Del` + literal-write pattern. Each is independently exploitable; the underlying primitive defect is shared.

The maintainer's gold-standard primitive for handling this exact threat class is `pkg/middlewares/forwardedheaders/forwarded_header.go:53-66`:

```go
func isManagedXHeader(key string) bool {
    if len(key) == 0 || key[0] != 'X' { return false }
    if _, ok := XHeadersSet[key]; ok { return true }
    if strings.IndexByte(key, '_') < 0 { return false }
    canonical := http.CanonicalHeaderKey(strings.ReplaceAll(key, "_", "-"))
    _, ok := XHeadersSet[canonical]
    return ok
}
```

This treats `_` ↔ `-` equivalence as a security requirement. It is reachable only via the static `XHeadersSet` membership check, which contains exclusively the X-Forwarded-* family + X-Real-Ip. Operator-configurable identity headers are out of scope of this primitive.

## Proof of concept

Verified on `traefik:v3.6.14` (the patched version, post-CVE-2026-33433 and post-CVE-2026-39858) using Docker compose. Full reproducer at https://github.com//traefik-ht1a-poc; commands below are verbatim.

### Setup

```yaml
# docker-compose.yml
services:
  traefik:
    image: traefik:v3.6.14
    command:
      - --providers.file.filename=/etc/traefik/dynamic.yml
      - --entrypoints.web.address=:80
    ports:
      - "8080:80"
    volumes:
      - ./traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro
  echo:
    image: mendhak/http-https-echo:36
    environment:
      - HTTP_PORT=8888
```

```yaml
# traefik/dynamic.yml — canonical headerField, recommended operator config
http:
  routers:
    protected:
      rule: "PathPrefix(`/`)"
      service: echo
      middlewares: [basic-auth]
  services:
    echo:
      loadBalancer:
        servers: [{url: "http://echo:8888"}]
  middlewares:
    basic-auth:
      basicAuth:
        users:
          - 'alice:$2b$05$FhDfYidZdDPuQjovYqcTAe22wHpQ/cILC7Tr2yAD6vLlvZh/Q45PC'   # alice:secret123
        headerField: "X-Auth-User"
```

`docker compose up -d`.

### Test 1 (control — CVE-2026-33433 fix works for canonical case)

```bash
$ curl -s -u alice:secret123 -H "X-Auth-User: superadmin" http://localhost:8080/
{
  ...
  "x-auth-user": "alice",
  ...
}
```

The attacker's canonical `X-Auth-User: superadmin` was correctly stripped by Traefik's `Del`; the backend receives only Traefik's authenticated-user writeback `alice`.

### Test 2 (HT-1A bypass — underscore variant survives)

```bash
$ curl -s -u alice:secret123 -H "X_Auth_User: superadmin" http://localhost:8080/
{
  ...
  "x-auth-user": "alice",
  "x_auth_user": "superadmin",
  ...
}
```

The underscore-variant `x_auth_user: superadmin` reached the backend intact, despite the `Del("X-Auth-User")` having executed. The backend sees both forms.

### Test 3 (double-send — same result)

```bash
$ curl -s -u alice:secret123 \
    -H "X-Auth-User: superadmin" \
    -H "X_Auth_User: superadmin" \
    http://localhost:8080/
{
  ...
  "x-auth-user": "alice",       # Traefik's writeback
  "x_auth_user": "superadmin",  # attacker's underscore — survived Del
  ...
}
```

The canonical attacker header is stripped (Test 1 behavior). The underscore variant is forwarded.

### Backend impact

The PoC's echo backend (`mendhak/http-https-echo`, Node.js) preserves both forms with the lowercase normalization Node.js applies. Application code reading `req.headers["x-auth-user"]` sees `alice`. Application code reading `req.headers["x_auth_user"]` sees `superadmin`.

For backends that normalize `_` ↔ `-` equivalently — meaning the attacker's value wins:

- **CGI / WSGI / PHP `$_SERVER`** (RFC 3875 §4.1.18 — header name uppercased with `-` replaced by `_`): both `X-Auth-User` and `X_Auth_User` map to `HTTP_X_AUTH_USER`. The last-set wins per the WSGI server's iteration order; many servers (gunicorn, uwsgi without `--disable-logging`, waitress) preserve both. Note: Apache + mod_php with default `HttpProtocolOptions Strict` filters underscore-headers from `$_SERVER` (this PoC's PHP backend test demonstrated the filter); Apache + mod_python, Apache + mod_wsgi without the strict mode, nginx + uwsgi, nginx + gunicorn, nginx + FastCGI, and standalone WSGI servers do NOT filter.
- **nginx with `underscores_in_headers on`** (https://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers): preserves underscore-variant headers and forwards them to upstream as separate values. Upstream application logic that does case-insensitive + underscore-insensitive matching (common pattern in security-sensitive code) merges them.
- **Tomcat / Java EE servlet containers**: `HttpServletRequest.getHeader(name)` is case-insensitive; underscore handling is container-specific. Many normalize.
- **Application middleware** (WAFs, log aggregators, security gateways, identity-aware proxies) that normalize header names before applying security policy: both forms collapse to the same authorization decision input.

## Severity

I propose **HIGH CVSS 7.5** for the BasicAuth / DigestAuth case and **CRITICAL CVSS 9.1** for the ForwardAuth `authResponseHeaders` case (the latter requires no credentials).

**CVSS 3.1 vector (BasicAuth / DigestAuth)**: `AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N=7.5` — one step above CVE-2026-33433 (which the maintainer scored MEDIUM 5.1 because it required misconfigured non-canonical `headerField`). HT-1A works against the canonical / recommended `headerField` configuration, broader operational scope.

**CVSS 3.1 vector (ForwardAuth `authResponseHeaders`)**: `AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N=9.1` — parallel to CVE-2026-39858 (HIGH 7.5) but achieves spoofing without credentials because the `authResponseHeaders` mechanism trusts headers exclusively from the auth server and the underscore variant defeats that trust boundary.

CWEs:
- CWE-290 (Authentication Bypass by Spoofing)
- CWE-178 (Improper Handling of Case Sensitivity) — analogous to CVE-2026-29054
- CWE-345 (Insufficient Verification of Data Authenticity) — same as CVE-2026-35051

## Suggested fix

Two equivalent approaches:

**1. Extend `Header.Del` to handle underscore variants** at the four call sites. Replace:

```go
req.Header.Del(b.headerField)
req.Header[b.headerField] = []string{user}
```

with:

```go
canonical := http.CanonicalHeaderKey(b.headerField)
// Strip canonical AND underscore-variant of the canonical key.
for key := range req.Header {
    if key == canonical || strings.EqualFold(strings.ReplaceAll(key, "_", "-"), canonical) {
        delete(req.Header, key)
    }
}
req.Header.Set(canonical, user)  // canonical-key write
```

This pairs the headerField primitive with the same `_` ↔ `-` equivalence that `isManagedXHeader` enforces for X-Forwarded-*.

**2. Generalize the existing `isManagedXHeader` primitive** into a `stripHeaderAndVariants(headers http.Header, name string)` helper in the `forwardedheaders` package and call it from `basic_auth.go`, `digest_auth.go`, `forward.go`, and `snippet.go`. Reusing the existing gold-standard primitive is the cleanest fix and minimizes future drift.

Either approach should also resolve the `// TODO Deprecated we should add the header with canonical key.` debt at `basic_auth.go:102` and `digest_auth.go:100` by writing to the canonical key (`Header.Set(canonical, user)`) instead of the literal `b.headerField`.

## Why this is a Pattern-8 sibling, not a new CVE class

The combination of:

1. CVE-2026-33433's fix scope (case-canonicalization for `headerField`)
2. CVE-2026-39858's fix scope (underscore-variant for `XHeadersSet`)
3. The defective primitive remaining at HEAD (the `Del` + literal-write pair at four call sites)

establishes that the maintainer accepts the threat model and has architectural primitives to fix it — but did not cross the two cohorts. The "primitive depth-audit" of the CVE-2026-33433 fix (reading the actual `Header.Del` implementation against the documented threat model and Go's canonicalization semantics) reveals the gap.

I confirmed there is no public PoC mentioning underscore-variant siblings of CVE-2026-33433 (WebSearched 2026-05-23). The fix-flurry from the April 2026 security release batch addressed the X-Forwarded family but not the headerField family.

## Credit

Matteo Panzeri (GitHub `matte1782`). CVE credit requested.

## AI-assistance disclosure

Static analysis, hypothesis writing, and hostile-review confirmation were assisted by Anthropic Claude (Opus 4.7). Live PoC reproduction, code-citation verification, and submission decision were made by the human author.




---]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 01:00:02 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-43622: llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1bat]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-43622</link>
                <description><![CDATA[llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. Attackers can trigger this memory management mismatch to cause denial of service through process crashes or potentially achieve arbitrary code execution depending on allocator state.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 12:00:06 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Meta AI model hacked a company during misconfigured cyber test]]></title>
                <link>https://www.bleepingcomputer.com/news/security/meta-ai-model-hacked-a-company-during-misconfigured-cyber-test/</link>
                <description><![CDATA[Meta has become the latest AI company to confirm that one of its models hacked a real organization during cybersecurity testing, as similar incidents continue to emerge following OpenAI'sOpenAI's initial disclosure that its agents breached Hugging Face. [...]]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-19039: A vulnerability was detected in Kino-Kafkaesque ssh-mcp-server up to 8ebbbb99b26f80ff6162fe00957c6dec73fbc5a5. Impacted ]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-19039</link>
                <description><![CDATA[A vulnerability was detected in Kino-Kafkaesque ssh-mcp-server up to 8ebbbb99b26f80ff6162fe00957c6dec73fbc5a5. Impacted is the function ssh_exec of the file src/index.ts of the component SSH Command Handler. Performing a manipulation of the argument host/username results in command injection. The attack requires a local approach. The actual existence of this vulnerability is currently in question. This product adopts a rolling release strategy to maintain continuous delivery. Therefore, version details for affected or updated releases cannot be specified. The project maintainer explains: "The intended threat model is that this MCP server is a local/trusted tool for an agent to execute commands over SSH, so callers already have meaningful execution capability through the exposed shell."]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 12:00:06 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Zero-Click AI Browser Hacking: Claude and ChatGPT Atlas Hijacked via Emails, X Posts]]></title>
                <link>https://www.securityweek.com/zero-click-ai-browser-hacking-claude-and-chatgpt-atlas-hijacked-via-emails-x-posts/</link>
                <description><![CDATA[Zenity researchers reported the findings to Anthropic and OpenAI in late 2025 and early 2026, but they remain unpatched.
The post Zero-Click AI Browser Hacking: Claude and ChatGPT Atlas Hijacked via Emails, X Posts appeared first on SecurityWeek.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[AI Recommendation Poisoning: How "Ask AI" Buttons Silently Alter LLM Memory]]></title>
                <link>https://thehackernews.com/2026/08/ai-recommendation-poisoning-how-ask-ai.html</link>
                <description><![CDATA[A new class of prompt injection is spreading across commercial websites. It requires no malware, no stolen credentials, and no zero-day exploit. It abuses a standard feature built into almost every major AI assistant: pre-filled deep links.

We observed production websites embedding hidden prompt injection payloads inside "Ask AI" buttons on marketing and competitor comparison pages. When a user]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-57819: Apache CXF allows to set a limit on the number of form parameters in a JAX-RS message via the "maxFormParameterCount" co]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-57819</link>
                <description><![CDATA[Apache CXF allows to set a limit on the number of form parameters in a JAX-RS message via the "maxFormParameterCount" configuration option. However, no default limit is set which may lead to denial of service attacks when processing  requests with very large numbers of form parameters. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue by using a default limit of 500 parameters.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 06:00:19 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Meta AI Hacked External Systems During Cybersecurity Testing]]></title>
                <link>https://www.securityweek.com/meta-ai-hacked-external-systems-during-cybersecurity-testing/</link>
                <description><![CDATA[The incident involved a testing environment set up by Irregular, similar to what Anthropic reported last week.
The post Meta AI Hacked External Systems During Cybersecurity Testing appeared first on SecurityWeek.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 10:00:01 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-64583: In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: udc: bdc: free IRQ and drain func_wake]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-64583</link>
                <description><![CDATA[In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: udc: bdc: free IRQ and drain func_wake_notify before teardown

The Broadcom BDC UDC driver registers its IRQ handler with
devm_request_irq() in bdc_udc_init(), so the IRQ is released by devm
only after bdc_remove() returns.  devm releases resources in reverse
LIFO order, but bdc_remove() runs bdc_udc_exit() and bdc_hw_exit() ->
bdc_mem_free() manually before returning: bdc_udc_exit() tears down
individual endpoint objects via bdc_free_ep(), while bdc_hw_exit() ->
bdc_mem_free() frees and NULLs the DMA-coherent status-report ring
(bdc->srr.sr_bds) and kfree()s bdc->bdc_ep_array.  Both happen while
the IRQ handler (bdc_udc_interrupt, requested with IRQF_SHARED)
remains deliverable in the window up to the post-remove devm
free_irq().

On receipt of a shared interrupt in that window, bdc_udc_interrupt()
dereferences bdc->srr.sr_bds[bdc->srr.dqp_index] (NULL or freed DMA)
and dispatches sr_handler callbacks that index into bdc_ep_array,
causing a NULL-deref or use-after-free.

The same window affects the delayed_work bdc->func_wake_notify, which is
armed from the IRQ handler via bdc_sr_uspc() -> handle_link_state_change()
-> schedule_delayed_work() and may self-rearm from its own callback
bdc_func_wake_timer().  No cancel exists anywhere in the driver, so a
queued work item that fires after bdc_remove() returns and the bdc
structure is devm-freed dereferences freed memory.

Replace devm_request_irq() with request_irq() and add an explicit
free_irq(bdc->irq, bdc) in bdc_remove().  Clear BDC_GIE before
free_irq() to stop the device from asserting interrupts, then
free_irq() drains any in-flight handler, then cancel_delayed_work_sync()
drains the func_wake_notify delayed work.  This ordering ensures the
IRQ handler and delayed work cannot interfere with the subsequent
endpoint and DMA teardown in bdc_udc_exit() and bdc_hw_exit().  Wire the
matching free_irq() into the bdc_udc_init() error path so the IRQ is
released on probe failure, and route the bdc_init_ep() failure through
err0 instead of returning directly.

This issue was found by an in-house static analysis tool.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 06:00:19 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-19019: A security flaw has been discovered in poco-ai poco-agent up to 0.5.4. Affected is the function WorkspaceManager._setup_]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-19019</link>
                <description><![CDATA[A security flaw has been discovered in poco-ai poco-agent up to 0.5.4. Affected is the function WorkspaceManager._setup_session_persistence of the file executor/app/core/workspace.py of the component Claude File Handler. The manipulation results in incomplete cleanup. The attack may be performed from remote. Attacks of this nature are highly complex. The exploitability is told to be difficult. The exploit has been released to the public and may be used for attacks.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 06:00:19 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-19005: A vulnerability was detected in nanocoai NanoClaw up to 2.0.64. Affected is the function handleCreateAgent of the file s]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-19005</link>
                <description><![CDATA[A vulnerability was detected in nanocoai NanoClaw up to 2.0.64. Affected is the function handleCreateAgent of the file src/modules/agent-to-agent/create-agent.ts of the component Child-Agent Creation. Performing a manipulation results in improper privilege management. Remote exploitation of the attack is possible. The exploit is now public and may be used. The project was informed of the problem early through an issue report but has not responded yet.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 06:00:19 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-67531: FrontMCP is a TypeScript-first framework for the Model Context Protocol (MCP). Prior to 1.5.7, the sandboxed codecall:ex]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-67531</link>
                <description><![CDATA[FrontMCP is a TypeScript-first framework for the Model Context Protocol (MCP). Prior to 1.5.7, the sandboxed codecall:execute tool exposes live host Zod schema instances to the script via getTool(), and because Zod v4 defines _zod as a non-configurable, non-writable own property, the ECMAScript Proxy invariants force the security membrane to hand back the raw host object, letting a script reach _zod.constr.constructor (the host Function constructor) and execute arbitrary code in the server process. A single tools/call is sufficient to escape the sandbox and achieve remote code execution as the server user, exposing everything the process holds such as OAuth client secrets, JWT_SECRET, session keys, database credentials, and cloud instance metadata. Because the framework's DEFAULT_AUTH_OPTIONS is public mode, an unconfigured server serves this to unauthenticated callers, and on authenticated servers an indirect prompt injection in tool output or fetched content can trigger it without a human attackerThis issue is fixed in version 1.5.7.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Fri, 07 Aug 2026 00:00:10 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[Baseten on Hugging Face Inference Providers 🔥]]></title>
                <link>https://huggingface.co/blog/baseten</link>
                <description><![CDATA[]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Sat, 08 Aug 2026 04:00:13 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-69111: Milvus through 2.6.22 and 3.0.0 contains an unauthenticated denial of service vulnerability that allows remote attackers]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-69111</link>
                <description><![CDATA[Milvus through 2.6.22 and 3.0.0 contains an unauthenticated denial of service vulnerability that allows remote attackers to terminate service components by sending a crafted HTTP GET request to the management server on port 9091. Attackers can exploit the unprotected /management/stop endpoint, which bypasses REST API authentication middleware, by supplying a 'role' parameter to shut down the proxy, datanode, or querynode components, resulting in denial of service.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-66298: Origin Validation Error vulnerability in livebook-dev livebook allows untrusted notebook output JavaScript to trigger se]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-66298</link>
                <description><![CDATA[Origin Validation Error vulnerability in livebook-dev livebook allows untrusted notebook output JavaScript to trigger session-wide keyboard shortcuts, including forced evaluation of all cells and runtime restart.

Livebook's JS-view feature renders notebook-defined JavaScript inside a sandboxed, cross-origin iframe specifically because that JavaScript is untrusted. The trusted iframe shell in iframe/priv/static/iframe/v5.html forwards every keydown event fired in its own window to the parent page without consulting Event.isTrusted, so an event synthesized by the untrusted script through window.dispatchEvent is forwarded exactly as a genuine keystroke would be. The parent-side relay in assets/js/hooks/js_view.js reconstructs and re-dispatches it on the live page with no further validation, and because assets/js/hooks/session.js registers the global shortcut handler on the document in the capture phase, that handler acts on the replicated event regardless of how it was produced.

Sandboxed output JavaScript can therefore drive Livebook's session-wide keyboard shortcuts. Two of them reach LivebookWeb.SessionLive and execute immediately with no confirmation: the shortcut for queueing full evaluation runs every cell in the notebook, and the shortcut for reconnecting the runtime disconnects and reconnects it, discarding in-memory state. A third shortcut deletes the focused cell behind a confirmation dialog that the user can permanently dismiss, after which it too executes silently.

Forced full evaluation is the significant consequence, because it causes the notebook's own Elixir code to run without the user choosing to evaluate anything. A user who merely opens a notebook obtained from a third party, or reached from published documentation, can have its code executed on their runtime. Livebook also mirrors cell outputs to every connected client, so a malicious output triggers in a collaborator's browser as soon as it renders.

This issue affects livebook: from 0.5.0 before 0.18.7 and from 0.19.0 before 0.19.9.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-18954: Incorrect authorization in the aggregation pipeline tool in Amazon AWS Labs DocumentDB MCP Server before 1.0.12 might al]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-18954</link>
                <description><![CDATA[Incorrect authorization in the aggregation pipeline tool in Amazon AWS Labs DocumentDB MCP Server before 1.0.12 might allow an authenticated MCP client to perform inappropriate write operations on the connected database via write-capable aggregation pipeline stages that bypass the read-only mode enforcement logic.



To remediate this issue, users should upgrade to version 1.0.12 or later.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-9205: IBM Langflow OSS contains a weak cryptographic key derivation vulnerability in the ensure_fernet_key() function.]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-9205</link>
                <description><![CDATA[IBM Langflow OSS contains a weak cryptographic key derivation vulnerability in the ensure_fernet_key() function.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-9201: IBM Langflow OSS 1.0.0 through 1.10.3 could allow an authenticated attacker to execute arbitrary code due to a cryptogra]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-9201</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 could allow an authenticated attacker to execute arbitrary code due to a cryptographic weakness in the custom component validation mechanism. When the optional hardening mode that restricts execution to trusted component templates is enabled, the application validates component code using a truncated SHA‑256 hash. Because the hash comparison relies on only a portion of the digest, an attacker can craft malicious component code that collides with a trusted template hash and bypasses validation. Successful exploitation allows the attacker to introduce and execute unauthorized Python code within the Langflow process, defeating the intended security control and potentially leading to full compromise of the affected instance.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-9196: IBM Langflow OSS 1.0.0 through 1.10.3 could allow an authenticated attacker to execute unintended code during Agentic As]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-9196</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 could allow an authenticated attacker to execute unintended code during Agentic Assistant validation due to improper handling of LLM‑generated components. The application executes model‑generated Python code in the backend during validation prior to user approval, which may allow an attacker to trigger side effects such as outbound network access, file system interaction, or data exfiltration with the privileges of the Langflow backend process.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-9130: IBM Langflow OSS 1.0.0 through 1.10.3 contain an authorization bypass vulnerability in the MemoryComponent that allows a]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-9130</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 contain an authorization bypass vulnerability in the MemoryComponent that allows authenticated users to access chat history of other users via session_id collision. The MemoryComponent.retrieve_messages and store_message methods filter on session_id without validating flow_id or user_id ownership, enabling cross-user information disclosure through multiple authenticated API endpoints including /api/v1/run/*, /api/v1/responses, and /api/v2/workflow/*. This vulnerability only affects multi-user deployments with LANGFLOW_AUTO_LOGIN=False.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-8478: IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote attacker to inject arbitrary code on the system, due to the i]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-8478</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote attacker to inject arbitrary code on the system, due to the improper control of user input code.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-8470: IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, and 1.0.0 through 1.10.3 use Python's]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-8470</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, and 1.0.0 through 1.10.3 use Python's non-cryptographic random module for generating Fernet encryption keys from user secrets under 32 characters. The deterministic Mersenne Twister PRNG produces identical keys for identical seeds, allowing attackers to reproduce encryption keys and decrypt stored API keys and authentication tokens.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-8183: IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-8183</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, and 1.0.0 through 1.10.3 could allow a remote attacker to traverse directories on the system. An attacker could send a specially crafted URL request containing "dot dot " sequences ( /.. /) to v i ew arbitrary files on the system.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-8182: IBM Langflow OSS 1.0.0 through 1.10.3 installations allow anyone on the internet to execute arbitrary code on the server]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-8182</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 installations allow anyone on the internet to execute arbitrary code on the server without any credentials via 2 HTTP requests.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-7869: IBM Langflow OSS 1.0.0 through 1.10.3 is vulnerable to Path Traversal in the Knowledge Bases API (`POST /api/v1/knowledg]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-7869</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 is vulnerable to Path Traversal in the Knowledge Bases API (`POST /api/v1/knowledge_bases`). This occurs because user-supplied knowledge base names are used directly to create file paths without proper sanitization or containment checks. An authenticated attacker can exploit this flaw to create directories and write files anywhere on the server's filesystem.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-7658: IBM Langflow OSS 1.0.0 through 1.10.3 does not properly validate the username field, allowing attackers to inject path t]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-7658</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 does not properly validate the username field, allowing attackers to inject path traversal sequences and bypass containment checks. This enables multiple severe impacts, including arbitrary directory deletion, cross-tenant data destruction, and JWT signing key deletion leading to session invalidation.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-48168: PraisonAI is a multi-agent teams system. In versions prior to 4.6.40, the bundled Claude GitHub Actions workflow is vuln]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-48168</link>
                <description><![CDATA[PraisonAI is a multi-agent teams system. In versions prior to 4.6.40, the bundled Claude GitHub Actions workflow is vulnerable to command injection because it embeds an attacker-controlled pull request branch name into a Bash run: block without quoting or validation. Additionally, the workflow allows any @claude comment to trigger the job regardless of whether the commenter is a trusted collaborator. An outside contributor can open a pull request from a fork whose branch name contains shell metacharacters and comment @claude, causing Bash to execute arbitrary shell code in the GitHub Actions runner. Because these commands run in a job holding a GitHub App token with write permissions, OIDC access, and gh/git access, the injection can be chained through $GITHUB_PATH to compromise later privileged steps, enabling repository writes, pull request and issue manipulation, or OIDC-token abuse. This issue has been fixed in version 4.6.40.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-17633: IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote authenticated attacker to execute arbitrary code due to code ]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-17633</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote authenticated attacker to execute arbitrary code due to code injection.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-17632: IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote authenticated attacker to execute arbitrary code due to impro]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-17632</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 could allow a remote authenticated attacker to execute arbitrary code due to improper validation of Python code during AST-based security scanning.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-17624: IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-17624</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, 1.0.0 through 1.10.3, and 1.0.0 through 1.10.3 could allow a remote authenticated attacker to execute arbitrary code due to improper validation of module imports.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
                    <item>
                <title><![CDATA[CVE-2026-10547: IBM Langflow OSS 1.0.0 through 1.10.3 does not properly validate ownership in the deprecated POST /api/v1/build/{flow_id]]></title>
                <link>https://nvd.nist.gov/vuln/detail/CVE-2026-10547</link>
                <description><![CDATA[IBM Langflow OSS 1.0.0 through 1.10.3 does not properly validate ownership in the deprecated POST /api/v1/build/{flow_id}/vertices endpoint, allowing an authenticated user to inject arbitrary graph data into a shared cache for any flow. This may result in cross-user cache pollution, unauthorized workflow execution, or denial of service.]]></description>
                <author><![CDATA[VulnWatch]]></author>
                <pubDate>Thu, 06 Aug 2026 18:00:08 +0000</pubDate>
                            </item>
            </channel>
</rss>
