OPENSUSE-SU-2026:22111-1
Vulnerability from csaf_opensuse - Published: 2026-10-09 15:27 - Updated: 2026-10-19 17:25Summary
Security update for pi-coding-agent
Severity
Important
Notes
Title of the patch: Security update for pi-coding-agent
Description of the patch: This update for pi-coding-agent fixes the following issues:
Changes in pi-coding-agent:
- Update to version 1.0.4 (1.0.3 was superseded the same day and
never submitted):
* BREAKING: provider azure-openai-responses renamed to azure,
now also serving Azure Foundry Chat Completions
(azure/deepseek-v4-pro first). Rename the provider key in
auth.json (or run /login again), models.json and
settings.json (defaultProvider, enabledModels and
modelThinkingLevels); sessions on the old provider fall back
and lose prompt cache. AZURE_OPENAI_* env vars unchanged
* --tools and --exclude-tools take *-patterns and --no-mcp
disables MCP for one run; --tools keeps MCP tools unless an
entry starts with mcp__
* Codemode read() on image files yields an image block image()
shows, and image() also saves each image to a temp file for
later turns
* Fix fenced-code highlighting past the first line, MCP OAuth
native-client registration, MCP shutdown racing a connecting
server, Bedrock stalled-stream retries and frozen codemode
built-ins, plus ChatGPT-login, EIO-on-closed-terminal and
output-file-permission fixes
* Many more fixes and improvements; see upstream's release notes
for the full list
- Refresh the vendored node_modules 1.0.2 -> 1.0.4: the ten
@earendil-works packages move to 1.0.4; nanoid, postcss and
vite move too but are dev-only and not shipped. Still 119
shipped modules and the licence union is unchanged
* CVE-2026-102276 (boo#1283188): brace-expansion is 5.0.12, above
the 5.0.10 fix floor, so the package is not affected by it
* CVE-2026-102277 (boo#1283392) and CVE-2026-102278
(boo#1283412): brace-expansion is 5.0.12, at the 5.0.12 and
above the 5.0.11 fix floors, so the package is not affected
by them
- Update to version 1.0.2: patch releases on the 1.0 API, with no
breaking changes
* models.json takes samplingParamsByThinkingLevel next to the
existing samplingParams, so an OpenAI-compatible model can set
temperature, top_p and the like separately for off, minimal, low,
medium, high, xhigh and max. Model defaults, the effective level's
override and the request are merged per key, modelOverrides merges
per level, and the levels are pi's own, not the provider's
thinkingLevelMap values. Only openai-completions, openai-responses
and azure-openai-responses apply them
* MCP servers can be enabled, disabled or re-scoped per project
from a .pi/mcp.json entry without a command or url, and /mcp
toggles a user-level server for the current project
* oauth.clientRegistration: "cimd" identifies pi by its Client ID
Metadata Document instead of dynamic client registration
* pi.registerToolRenderer() picks how calls to a tool that is not
registered yet are drawn, such as MCP tools in a resumed session
* Cloudflare's Clef and Clef Flash classifier models are usable
from codemode scripts and extensions
* A codemode script printing in a loop now fails at 16 Mi
characters or 100000 items instead of running pi out of memory
* MCP tool calls in resumed sessions and HTML exports no longer
render fully expanded until their server connects
* JPEG, GIF and WebP images that extensions draw through Image now
appear in Kitty, Ghostty, WezTerm and Warp, and fullscreen Kitty
images no longer collapse to a one-row strip after scrolling in
WezTerm
* Many more fixes and improvements; see upstream's release notes
for the full list
- Refresh the vendored node_modules over 1.0.0 -> 1.0.2: the ten
@earendil-works packages move to 1.0.2, with pi-telemetry the one
that was already at 1.0.2 in the 1.0.1 tree, plus
@anthropic-ai/sdk to 0.129.0. No module leaves or joins the 119
shipped ones and the licence union is unchanged
* CVE-2026-102276 (boo#1283188): brace-expansion is 5.0.12, above
the 5.0.10 fix floor, so the package is not affected by it.
Upstream's 1.0.1 made it a direct dependency, but this package
vendored 5.0.12 already at 1.0.0
* CVE-2026-102277 (boo#1283392) and CVE-2026-102278 (boo#1283412):
brace-expansion is 5.0.12, at the 5.0.12 and above the 5.0.11
fix floors, so the package is not affected by them
- Fix the %prep comment on Source10: upstream ships no shrinkwrap
since 1.0.1
- Update to version 1.0.0. This is a major release with breaking
behaviour changes, not a patch release:
* BREAKING: the interactive TUI runs fullscreen by default now,
so the terminal's normal scrollback is gone. Set tuiMode to
"regular" in the settings, or pass --tui-mode regular, for
the old behaviour
* BREAKING: MCP OAuth credentials are keyed by server name and
URL instead of by URL alone, so two servers behind one URL can
hold separate accounts. Credentials written by 0.99.x move to
the first server that reads them; other servers on the same
URL have to sign in again
* BREAKING: MCP sign-in enforces RFC 9207 and rejects an
authorization response whose iss names another authorization
server. A server advertising a wrong or missing one needs the
new oauth.authServerMetadataUrl setting
* BREAKING: --provider without --model fails now instead of
silently running another provider's default model
* BREAKING: codemode scripts have to probe for a tool with
"name" in tools; typeof tools.name no longer finds it, and
the codemode description carries one call line per tool
instead of the full declaration
* BREAKING: quietStartup also takes "header", which keeps the
version and key hints but hides the model scope line and the
loaded-resource listing
* Sign in with Radius from /login, which can set up the Radius
MCP server too, and with a copy code for Anthropic when the
browser runs on another machine
* Codemode scripts call models.generateImages() to run image
models with the session's credentials. Codemode needs about
40% fewer prompt tokens and its errors now name close matches
and the expected argument shape
* MCP step-up sign-in keeps the scopes it already had, so a
server asking for more no longer causes a sign-in loop
* Fix MCP tools that tool_search loaded being dropped on resume
and /reload, user messages keeping two full-width copies of
every rendered line, and slash command completion after
leading whitespace
* Fix the memory a long assistant message keeps in the
transcript (about a fifth of before), colour bleeding past
highlights in fullscreen mode, and the system theme
oversaturating pastel palettes
* Many more fixes and improvements; see upstream's release notes
- Refresh the vendored node_modules: the ten @earendil-works
packages go 0.99.2 -> 1.0.0 and nothing else in the 119 shipped
modules moves, so the license union is unchanged. pi-agent-core
drops its chord, pi-telemetry, diff, ignore and yaml deps, all
of which other packages in the tree still pull in.
- The codemode sandbox is still WebAssembly only (quickjs.wasm
plus five .so-named WASI modules, no ELF), so the package stays
noarch
- Update to version 0.99.2:
* MCP servers with the default codemode exposure no longer block
the first prompt; they are listed in a short mcp_servers
system prompt section and scripts find their tools with
searchTools() and describeNamespace()
* More MCP authentication: oauth.clientName for servers that
only accept known OAuth clients, and "auth": {"provider": ...}
to send a provider's /login token to an HTTP server
* Anthropic workload identity federation from
ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID and
ANTHROPIC_IDENTITY_TOKEN_FILE
* /reload enables tools newly added to the defaultTools setting
* Fix codemode image() accepting malformed base64 or
unsupported image types, which made every later provider
request fail with HTTP 400
* Fix codemode scripts calling the wrong MCP tool when two
names differ only in "-" and "_"; such names now
normalise to "_"
* Fix new sessions intermittently ignoring the saved default
model, or warning that no models are available, for
extension-registered providers with a stored credential
* Fix Anthropic requests failing when a tool schema uses
minimum or maximum, which strict tool use rejects; such
tools are sent non-strict
* Fix provider retries firing immediately on an unparseable
Retry-After date, and prompt submission slowing as a
session grows
* Many more fixes and improvements; see upstream's release notes
- Refresh the vendored node_modules: the ten @earendil-works
packages go 0.99.1 -> 0.99.2 and nothing else in the 119
shipped modules moves, so the license union is unchanged
* CVE-2026-102277 (boo#1283392): brace-expansion is 5.0.12,
at the fix floor, so the package is not affected by it
* CVE-2026-102278 (boo#1283412): brace-expansion is 5.0.12,
above the 5.0.11 fix floor, so the package is not
affected by it
- Update to version 0.99.1 (upstream jumped from 0.87.1; no
0.88-0.98 releases exist):
* Codemode and MCP: model-written JavaScript runs in a QuickJS
WebAssembly sandbox calling pi's tools in parallel; MCP servers
over stdio/HTTP with OAuth come from mcp.json and are managed
with /mcp and pi mcp add|remove|list|login|logout
* New default system theme follows the terminal's own palette,
with #rgb/oklch()/okhsl() colors and light/dark rebuilding
* Sign in with ChatGPT on the OpenAI provider; inherited OpenAI
Codex provider renamed "OpenAI Codex (legacy)"
* Experimental virtual models route each request to a physical
model; llama.cpp models gain classifier support
* GPT-6.1 Sol joins OpenAI, Azure OpenAI and OpenAI Codex, and
becomes the default Codex model
* Built-in extensions and tools are named builtin:<name>,
--no-extensions disables them too; tool APIs gain exposure,
namespaces, annotations, structuredContent, ctx.executeTool()
* Sessions are created on the first user message, so pi no longer
loses them when it exits before the first response
* Many more fixes and improvements; see upstream's release notes
- Refresh package-lock.json (now the full npm-generated lockfile,
integrity complete) and the vendored node_modules archive:
116 -> 119 shipped modules, with @earendil-works/pi-codemode,
@earendil-works/pi-mcp and quickjs-wasi new, openai 6.40.0 ->
7.19.0 and agent-base/https-proxy-agent 7.x -> 9.x; license union
unchanged
- The new codemode sandbox ships as WebAssembly only (quickjs.wasm
plus five .so-named WASI modules, no ELF), so the package stays
noarch
- Update to version 0.87.1:
* New frontier models: Claude Opus 5.5, GPT-6 Sol and Luna
across providers; Grok 4.7 default for xAI
* Fix split-turn compaction summaries refused by Claude
Fable 5.1; invalid --mode values now error out
* Undici 8.10.2 retained: the 8 CVE batch fixed since
0.86.1 (CVE-2026-84961, CVE-2026-85024, CVE-2026-85008,
CVE-2026-84947, CVE-2026-85152, CVE-2026-84890,
CVE-2026-84933, CVE-2026-85014; boo#1279832)
- Refresh the vendored node_modules
Patchnames: openSUSE-Leap-16.0-packagehub-661
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
5.3 (Medium)
Affected products
Recommended
2 products
| Product | Identifier | Version | Remediation |
|---|---|---|---|
| Unresolved product id: openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch | — |
Vendor Fix
|
|
| Unresolved product id: openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch | — |
Vendor Fix
|
Threats
Impact
moderate
5.3 (Medium)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
moderate
7.5 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
7.5 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
6.5 (Medium)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
6.5 (Medium)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
7.4 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
6.5 (Medium)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
7.5 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
7.5 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
7.4 (High)
Affected products
Recommended
2 products, the same list as for
CVE-2026-102276
Threats
Impact
important
References
39 references
{
"document": {
"aggregate_severity": {
"namespace": "https://www.suse.com/support/security/rating/",
"text": "important"
},
"category": "csaf_security_advisory",
"csaf_version": "2.0",
"distribution": {
"text": "Copyright 2024 SUSE LLC. All rights reserved.",
"tlp": {
"label": "WHITE",
"url": "https://www.first.org/tlp/"
}
},
"lang": "en",
"notes": [
{
"category": "summary",
"text": "Security update for pi-coding-agent",
"title": "Title of the patch"
},
{
"category": "description",
"text": "This update for pi-coding-agent fixes the following issues:\n\nChanges in pi-coding-agent:\n\n- Update to version 1.0.4 (1.0.3 was superseded the same day and\n never submitted):\n * BREAKING: provider azure-openai-responses renamed to azure,\n now also serving Azure Foundry Chat Completions\n (azure/deepseek-v4-pro first). Rename the provider key in\n auth.json (or run /login again), models.json and\n settings.json (defaultProvider, enabledModels and\n modelThinkingLevels); sessions on the old provider fall back\n and lose prompt cache. AZURE_OPENAI_* env vars unchanged\n * --tools and --exclude-tools take *-patterns and --no-mcp\n disables MCP for one run; --tools keeps MCP tools unless an\n entry starts with mcp__\n * Codemode read() on image files yields an image block image()\n shows, and image() also saves each image to a temp file for\n later turns\n * Fix fenced-code highlighting past the first line, MCP OAuth\n native-client registration, MCP shutdown racing a connecting\n server, Bedrock stalled-stream retries and frozen codemode\n built-ins, plus ChatGPT-login, EIO-on-closed-terminal and\n output-file-permission fixes\n * Many more fixes and improvements; see upstream\u0027s release notes\n for the full list\n- Refresh the vendored node_modules 1.0.2 -\u003e 1.0.4: the ten\n @earendil-works packages move to 1.0.4; nanoid, postcss and\n vite move too but are dev-only and not shipped. Still 119\n shipped modules and the licence union is unchanged\n * CVE-2026-102276 (boo#1283188): brace-expansion is 5.0.12, above\n the 5.0.10 fix floor, so the package is not affected by it\n * CVE-2026-102277 (boo#1283392) and CVE-2026-102278\n (boo#1283412): brace-expansion is 5.0.12, at the 5.0.12 and\n above the 5.0.11 fix floors, so the package is not affected\n by them\n\n- Update to version 1.0.2: patch releases on the 1.0 API, with no\n breaking changes\n * models.json takes samplingParamsByThinkingLevel next to the\n existing samplingParams, so an OpenAI-compatible model can set\n temperature, top_p and the like separately for off, minimal, low,\n medium, high, xhigh and max. Model defaults, the effective level\u0027s\n override and the request are merged per key, modelOverrides merges\n per level, and the levels are pi\u0027s own, not the provider\u0027s\n thinkingLevelMap values. Only openai-completions, openai-responses\n and azure-openai-responses apply them\n * MCP servers can be enabled, disabled or re-scoped per project\n from a .pi/mcp.json entry without a command or url, and /mcp\n toggles a user-level server for the current project\n * oauth.clientRegistration: \"cimd\" identifies pi by its Client ID\n Metadata Document instead of dynamic client registration\n * pi.registerToolRenderer() picks how calls to a tool that is not\n registered yet are drawn, such as MCP tools in a resumed session\n * Cloudflare\u0027s Clef and Clef Flash classifier models are usable\n from codemode scripts and extensions\n * A codemode script printing in a loop now fails at 16 Mi\n characters or 100000 items instead of running pi out of memory\n * MCP tool calls in resumed sessions and HTML exports no longer\n render fully expanded until their server connects\n * JPEG, GIF and WebP images that extensions draw through Image now\n appear in Kitty, Ghostty, WezTerm and Warp, and fullscreen Kitty\n images no longer collapse to a one-row strip after scrolling in\n WezTerm\n * Many more fixes and improvements; see upstream\u0027s release notes\n for the full list\n- Refresh the vendored node_modules over 1.0.0 -\u003e 1.0.2: the ten\n @earendil-works packages move to 1.0.2, with pi-telemetry the one\n that was already at 1.0.2 in the 1.0.1 tree, plus\n @anthropic-ai/sdk to 0.129.0. No module leaves or joins the 119\n shipped ones and the licence union is unchanged\n * CVE-2026-102276 (boo#1283188): brace-expansion is 5.0.12, above\n the 5.0.10 fix floor, so the package is not affected by it.\n Upstream\u0027s 1.0.1 made it a direct dependency, but this package\n vendored 5.0.12 already at 1.0.0\n * CVE-2026-102277 (boo#1283392) and CVE-2026-102278 (boo#1283412):\n brace-expansion is 5.0.12, at the 5.0.12 and above the 5.0.11\n fix floors, so the package is not affected by them\n- Fix the %prep comment on Source10: upstream ships no shrinkwrap\n since 1.0.1\n\n- Update to version 1.0.0. This is a major release with breaking\n behaviour changes, not a patch release:\n * BREAKING: the interactive TUI runs fullscreen by default now,\n so the terminal\u0027s normal scrollback is gone. Set tuiMode to\n \"regular\" in the settings, or pass --tui-mode regular, for\n the old behaviour\n * BREAKING: MCP OAuth credentials are keyed by server name and\n URL instead of by URL alone, so two servers behind one URL can\n hold separate accounts. Credentials written by 0.99.x move to\n the first server that reads them; other servers on the same\n URL have to sign in again\n * BREAKING: MCP sign-in enforces RFC 9207 and rejects an\n authorization response whose iss names another authorization\n server. A server advertising a wrong or missing one needs the\n new oauth.authServerMetadataUrl setting\n * BREAKING: --provider without --model fails now instead of\n silently running another provider\u0027s default model\n * BREAKING: codemode scripts have to probe for a tool with\n \"name\" in tools; typeof tools.name no longer finds it, and\n the codemode description carries one call line per tool\n instead of the full declaration\n * BREAKING: quietStartup also takes \"header\", which keeps the\n version and key hints but hides the model scope line and the\n loaded-resource listing\n * Sign in with Radius from /login, which can set up the Radius\n MCP server too, and with a copy code for Anthropic when the\n browser runs on another machine\n * Codemode scripts call models.generateImages() to run image\n models with the session\u0027s credentials. Codemode needs about\n 40% fewer prompt tokens and its errors now name close matches\n and the expected argument shape\n * MCP step-up sign-in keeps the scopes it already had, so a\n server asking for more no longer causes a sign-in loop\n * Fix MCP tools that tool_search loaded being dropped on resume\n and /reload, user messages keeping two full-width copies of\n every rendered line, and slash command completion after\n leading whitespace\n * Fix the memory a long assistant message keeps in the\n transcript (about a fifth of before), colour bleeding past\n highlights in fullscreen mode, and the system theme\n oversaturating pastel palettes\n * Many more fixes and improvements; see upstream\u0027s release notes\n- Refresh the vendored node_modules: the ten @earendil-works\n packages go 0.99.2 -\u003e 1.0.0 and nothing else in the 119 shipped\n modules moves, so the license union is unchanged. pi-agent-core\n drops its chord, pi-telemetry, diff, ignore and yaml deps, all\n of which other packages in the tree still pull in.\n- The codemode sandbox is still WebAssembly only (quickjs.wasm\n plus five .so-named WASI modules, no ELF), so the package stays\n noarch\n\n- Update to version 0.99.2:\n * MCP servers with the default codemode exposure no longer block\n the first prompt; they are listed in a short mcp_servers\n system prompt section and scripts find their tools with\n searchTools() and describeNamespace()\n * More MCP authentication: oauth.clientName for servers that\n only accept known OAuth clients, and \"auth\": {\"provider\": ...}\n to send a provider\u0027s /login token to an HTTP server\n * Anthropic workload identity federation from\n ANTHROPIC_FEDERATION_RULE_ID, ANTHROPIC_ORGANIZATION_ID and\n ANTHROPIC_IDENTITY_TOKEN_FILE\n * /reload enables tools newly added to the defaultTools setting\n * Fix codemode image() accepting malformed base64 or\n unsupported image types, which made every later provider\n request fail with HTTP 400\n * Fix codemode scripts calling the wrong MCP tool when two\n names differ only in \"-\" and \"_\"; such names now\n normalise to \"_\"\n * Fix new sessions intermittently ignoring the saved default\n model, or warning that no models are available, for\n extension-registered providers with a stored credential\n * Fix Anthropic requests failing when a tool schema uses\n minimum or maximum, which strict tool use rejects; such\n tools are sent non-strict\n * Fix provider retries firing immediately on an unparseable\n Retry-After date, and prompt submission slowing as a\n session grows\n * Many more fixes and improvements; see upstream\u0027s release notes\n- Refresh the vendored node_modules: the ten @earendil-works\n packages go 0.99.1 -\u003e 0.99.2 and nothing else in the 119\n shipped modules moves, so the license union is unchanged\n * CVE-2026-102277 (boo#1283392): brace-expansion is 5.0.12,\n at the fix floor, so the package is not affected by it\n * CVE-2026-102278 (boo#1283412): brace-expansion is 5.0.12,\n above the 5.0.11 fix floor, so the package is not\n affected by it\n\n- Update to version 0.99.1 (upstream jumped from 0.87.1; no\n 0.88-0.98 releases exist):\n * Codemode and MCP: model-written JavaScript runs in a QuickJS\n WebAssembly sandbox calling pi\u0027s tools in parallel; MCP servers\n over stdio/HTTP with OAuth come from mcp.json and are managed\n with /mcp and pi mcp add|remove|list|login|logout\n * New default system theme follows the terminal\u0027s own palette,\n with #rgb/oklch()/okhsl() colors and light/dark rebuilding\n * Sign in with ChatGPT on the OpenAI provider; inherited OpenAI\n Codex provider renamed \"OpenAI Codex (legacy)\"\n * Experimental virtual models route each request to a physical\n model; llama.cpp models gain classifier support\n * GPT-6.1 Sol joins OpenAI, Azure OpenAI and OpenAI Codex, and\n becomes the default Codex model\n * Built-in extensions and tools are named builtin:\u003cname\u003e,\n --no-extensions disables them too; tool APIs gain exposure,\n namespaces, annotations, structuredContent, ctx.executeTool()\n * Sessions are created on the first user message, so pi no longer\n loses them when it exits before the first response\n * Many more fixes and improvements; see upstream\u0027s release notes\n- Refresh package-lock.json (now the full npm-generated lockfile,\n integrity complete) and the vendored node_modules archive:\n 116 -\u003e 119 shipped modules, with @earendil-works/pi-codemode,\n @earendil-works/pi-mcp and quickjs-wasi new, openai 6.40.0 -\u003e\n 7.19.0 and agent-base/https-proxy-agent 7.x -\u003e 9.x; license union\n unchanged\n- The new codemode sandbox ships as WebAssembly only (quickjs.wasm\n plus five .so-named WASI modules, no ELF), so the package stays\n noarch\n\n- Update to version 0.87.1:\n * New frontier models: Claude Opus 5.5, GPT-6 Sol and Luna\n across providers; Grok 4.7 default for xAI\n * Fix split-turn compaction summaries refused by Claude\n Fable 5.1; invalid --mode values now error out\n * Undici 8.10.2 retained: the 8 CVE batch fixed since\n 0.86.1 (CVE-2026-84961, CVE-2026-85024, CVE-2026-85008,\n CVE-2026-84947, CVE-2026-85152, CVE-2026-84890,\n CVE-2026-84933, CVE-2026-85014; boo#1279832)\n- Refresh the vendored node_modules\n",
"title": "Description of the patch"
},
{
"category": "details",
"text": "openSUSE-Leap-16.0-packagehub-661",
"title": "Patchnames"
},
{
"category": "legal_disclaimer",
"text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
"title": "Terms of use"
}
],
"publisher": {
"category": "vendor",
"contact_details": "https://www.suse.com/support/security/contact/",
"name": "SUSE Product Security Team",
"namespace": "https://www.suse.com/"
},
"references": [
{
"category": "external",
"summary": "SUSE ratings",
"url": "https://www.suse.com/support/security/rating/"
},
{
"category": "self",
"summary": "URL of this CSAF notice",
"url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_22111-1.json"
},
{
"category": "self",
"summary": "SUSE Bug 1279832",
"url": "https://bugzilla.suse.com/1279832"
},
{
"category": "self",
"summary": "SUSE Bug 1283188",
"url": "https://bugzilla.suse.com/1283188"
},
{
"category": "self",
"summary": "SUSE Bug 1283392",
"url": "https://bugzilla.suse.com/1283392"
},
{
"category": "self",
"summary": "SUSE Bug 1283412",
"url": "https://bugzilla.suse.com/1283412"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-102276 page",
"url": "https://www.suse.com/security/cve/CVE-2026-102276/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-102277 page",
"url": "https://www.suse.com/security/cve/CVE-2026-102277/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-102278 page",
"url": "https://www.suse.com/security/cve/CVE-2026-102278/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-84890 page",
"url": "https://www.suse.com/security/cve/CVE-2026-84890/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-84933 page",
"url": "https://www.suse.com/security/cve/CVE-2026-84933/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-84947 page",
"url": "https://www.suse.com/security/cve/CVE-2026-84947/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-84961 page",
"url": "https://www.suse.com/security/cve/CVE-2026-84961/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-85008 page",
"url": "https://www.suse.com/security/cve/CVE-2026-85008/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-85014 page",
"url": "https://www.suse.com/security/cve/CVE-2026-85014/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-85024 page",
"url": "https://www.suse.com/security/cve/CVE-2026-85024/"
},
{
"category": "self",
"summary": "SUSE CVE CVE-2026-85152 page",
"url": "https://www.suse.com/security/cve/CVE-2026-85152/"
}
],
"title": "Security update for pi-coding-agent",
"tracking": {
"current_release_date": "2026-10-19T17:25:33Z",
"generator": {
"date": "2026-10-09T15:27:19Z",
"engine": {
"name": "cve-database.git:bin/generate-csaf.pl",
"version": "1"
}
},
"id": "openSUSE-SU-2026:22111-1",
"initial_release_date": "2026-10-09T15:27:19Z",
"revision_history": [
{
"date": "2026-10-09T15:27:19Z",
"number": "1",
"summary": "Current version"
},
{
"date": "2026-10-19T17:25:33Z",
"number": "2",
"summary": "unknown changes"
}
],
"status": "final",
"version": "2"
}
},
"product_tree": {
"branches": [
{
"branches": [
{
"branches": [
{
"category": "product_version",
"name": "pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"product": {
"name": "pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"product_id": "pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"product_identification_helper": {
"purl": "pkg:rpm/suse/pi-coding-agent@1.0.4-bp160.1.1?arch=noarch"
}
}
},
{
"category": "product_version",
"name": "pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch",
"product": {
"name": "pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch",
"product_id": "pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch",
"product_identification_helper": {
"purl": "pkg:rpm/suse/pi-coding-agent-examples@1.0.4-bp160.1.1?arch=noarch"
}
}
}
],
"category": "architecture",
"name": "noarch"
},
{
"branches": [
{
"category": "product_name",
"name": "openSUSE Leap 16.0",
"product": {
"name": "openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0"
}
}
],
"category": "product_family",
"name": "SUSE Linux Enterprise"
}
],
"category": "vendor",
"name": "SUSE"
}
],
"relationships": [
{
"category": "default_component_of",
"full_product_name": {
"name": "pi-coding-agent-0:1.0.4-bp160.1.1.noarch as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch"
},
"product_reference": "pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"relates_to_product_reference": "openSUSE Leap 16.0"
},
{
"category": "default_component_of",
"full_product_name": {
"name": "pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch as component of openSUSE Leap 16.0",
"product_id": "openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
},
"product_reference": "pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch",
"relates_to_product_reference": "openSUSE Leap 16.0"
}
]
},
"vulnerabilities": [
{
"cve": "CVE-2026-102276",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-102276"
}
],
"notes": [
{
"category": "general",
"text": "The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.19, 2.1.5, 3.0.7, and 5.0.10, crafted brace patterns can exhaust the native stack in parseCommaParts because parseCommaParts recursively processes the remainder once per brace group and uses push.apply to pass every element of a very large comma-part array as a function argument. Patterns containing many comma-separated brace groups trigger the recursive path, while the large array triggers the argument-array path without deep recursion. These paths cause recursive and argument-array native stack exhaustion before max or maxLength can limit output, potentially terminating the Node.js process in a process-terminating denial of service. This issue is fixed in versions 1.1.19, 2.1.5, 3.0.7, and 5.0.10.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-102276",
"url": "https://www.suse.com/security/cve/CVE-2026-102276"
},
{
"category": "external",
"summary": "SUSE Bug 1283188 for CVE-2026-102276",
"url": "https://bugzilla.suse.com/1283188"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "moderate"
}
],
"title": "CVE-2026-102276"
},
{
"cve": "CVE-2026-102277",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-102277"
}
],
"notes": [
{
"category": "general",
"text": "The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.21, 2.1.7, 3.0.9, and 5.0.12, the expand function handles untrusted {a},b}-shaped patterns with many trailing closing braces by restarting its scan once for each trailing closing brace. The successive full-input rescans with linear working-string growth cause quadratic CPU time and memory pressure that can block the Node.js event loop. The process eventually recovers, making the impact a recoverable CPU denial of service. This issue is fixed in versions 1.1.21, 2.1.7, 3.0.9, and 5.0.12.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-102277",
"url": "https://www.suse.com/security/cve/CVE-2026-102277"
},
{
"category": "external",
"summary": "SUSE Bug 1283371 for CVE-2026-102277",
"url": "https://bugzilla.suse.com/1283371"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "moderate"
}
],
"title": "CVE-2026-102277"
},
{
"cve": "CVE-2026-102278",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-102278"
}
],
"notes": [
{
"category": "general",
"text": "The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.20, 2.1.6, 3.0.8, and 5.0.11, deeply nested brace groups cause expand_() to recurse once per nesting level at comma-member and single-set expansion sites, exhausting the native stack before output limits can apply and potentially terminating the Node.js process. expand_ performs uncontrolled recursion for nested brace alternatives and single-part sets. deeply nested brace groups supplied as an untrusted pattern. expand_ is affected. expand is affected. Comma members is affected. Single set is affected. native stack exhaustion during nested sub-expansion. process-terminating denial of service. This issue is fixed in versions 1.1.20, 2.1.6, 3.0.8, and 5.0.11.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-102278",
"url": "https://www.suse.com/security/cve/CVE-2026-102278"
},
{
"category": "external",
"summary": "SUSE Bug 1283400 for CVE-2026-102278",
"url": "https://bugzilla.suse.com/1283400"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-102278"
},
{
"cve": "CVE-2026-84890",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-84890"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s decompress interceptor decompresses response bodies according to the untrusted Content-Encoding header. While the number of content-encoding layers is capped, the total decompressed output size is unbounded and there is no configuration option to limit it. A malicious or faulty upstream can therefore return a small compressed payload, a compression bomb, that expands to hundreds of megabytes or more in client memory, an asymmetric resource consumption that can exhaust memory and crash the process. This affects undici versions from 7.15.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-84890",
"url": "https://www.suse.com/security/cve/CVE-2026-84890"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-84890",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-84890"
},
{
"cve": "CVE-2026-84933",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-84933"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s cache interceptor does not handle the Set-Cookie response header anywhere in its cache path, so it neither refuses to store nor strips that header. In shared cache mode, which is the default, an otherwise cacheable response that carries a Set-Cookie header, for example one marked with a public and max-age directive, is stored and then re-served to a later caller that matches the same cache key. As a result one caller\u0027s cookie is disclosed to a different caller, and an untrusted server can inject cookies into cached responses served to all subsequent callers. This violates the requirement that a shared cache must not store cookies. This affects undici versions from 7.0.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-84933",
"url": "https://www.suse.com/security/cve/CVE-2026-84933"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-84933",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-84933"
},
{
"cve": "CVE-2026-84947",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-84947"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s dump interceptor reads and discards a response body up to a configurable maximum size. When a response declares a Content-Length that exceeds the maximum, the interceptor aborts cleanly, but when a response has no Content-Length and is chunked, the interceptor instead signals completion early once the accumulated size reaches the maximum, without pausing or aborting the request. Because the underlying parser keeps delivering body bytes, a second completion signal fires and trips an internal assertion, which aborts the request and tears down the connection. The application is left observing a misleading successful status with an empty or truncated body while the connection has actually been disconnected. This affects undici versions from 7.1.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-84947",
"url": "https://www.suse.com/security/cve/CVE-2026-84947"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-84947",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-84947"
},
{
"cve": "CVE-2026-84961",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-84961"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s BalancedPool constructor passes its entire options object through an internal deep-clone that serializes and reparses the value as JSON. Because JSON cannot represent functions, any function-valued TLS option, such as a caller-supplied checkServerIdentity callback or a custom connector inside the connect option, is silently discarded before it reaches the TLS layer. As a result a peer whose certificate the application\u0027s custom checkServerIdentity was written to reject, but which still passes Node\u0027s default hostname and chain checks, is accepted when reached through BalancedPool. The Client, Pool, and Agent dispatchers are not affected because they extract the connect and tls options before cloning. This affects undici versions from 7.24.1 up to 7.29.1 and from 8.0.0 up to 8.10.2, and only when the application supplies a function-valued connect or tls option to BalancedPool. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-84961",
"url": "https://www.suse.com/security/cve/CVE-2026-84961"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-84961",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.4,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-84961"
},
{
"cve": "CVE-2026-85008",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-85008"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s cache interceptor documents that only safe HTTP methods are cached, but its logic to skip caching is built by subtracting the configured methods from the set of safe methods, so an unsafe method such as POST, PUT, or DELETE is never placed in the skip list and instead falls through to the full cache-read path. The response-storage gate also lacked a method check, so a response to an unsafe request that is heuristically cacheable or carries an explicit Cache-Control directive is stored and later replayed from cache. Because response headers from a remote origin are untrusted, an origin can answer once with a cacheable status and then have the client\u0027s own subsequent state-changing requests to that path served from the stale cache entry without ever reaching the origin, an integrity failure that occurs under the interceptor\u0027s default configuration. This affects undici versions from 7.0.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-85008",
"url": "https://www.suse.com/security/cve/CVE-2026-85008"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-85008",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-85008"
},
{
"cve": "CVE-2026-85014",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-85014"
}
],
"notes": [
{
"category": "general",
"text": "undici\u0027s experimental WebSocketStream client crashes the whole Node.js process when a remote peer closes the TCP connection without a WebSocket close handshake. On an unclean close the internal socket-close handler calls abort on the writable stream unconditionally and discards the returned promise, but per the WHATWG Streams standard aborting a locked writable returns a promise that rejects with a TypeError. Because the application holds a writer on that writable, which is the only way to write, the rejection is never observed and Node\u0027s default unhandled-rejection behavior terminates the process. An untrusted server can therefore crash a client with a single abrupt disconnect, with no authentication and no application mistake. This affects undici versions from 7.0.0 up to 7.29.1 and from 8.0.0 up to 8.10.2. Users should upgrade to undici 7.29.1 or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-85014",
"url": "https://www.suse.com/security/cve/CVE-2026-85014"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-85014",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-85014"
},
{
"cve": "CVE-2026-85024",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-85024"
}
],
"notes": [
{
"category": "general",
"text": "undici bundles a WebSocket client whose permessage-deflate size-limit cleanup removes all listeners from the internal zlib inflate stream, including its error listener, while that stream can still emit. When a remote peer sends a compressed payload that crosses the built-in 128 MiB decompressed-payload limit and then contains a malformed DEFLATE byte, the inflate stream emits a data error with no listener attached, which Node.js treats as a fatal unhandled error and terminates the entire process. Exploitation is remote and unauthenticated, requires no application mistake, and is asymmetric, since roughly 130 KB on the wire expands past the limit and crashes the process, and reconnecting can repeat the crash. This affects undici versions from 6.25.0 up to 6.28.1, from 7.28.0 up to 7.29.1, and from 8.1.0 up to 8.10.2. Users should upgrade to undici 6.28.1, 7.29.1, or 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-85024",
"url": "https://www.suse.com/security/cve/CVE-2026-85024"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-85024",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-85024"
},
{
"cve": "CVE-2026-85152",
"ids": [
{
"system_name": "SUSE CVE Page",
"text": "https://www.suse.com/security/cve/CVE-2026-85152"
}
],
"notes": [
{
"category": "general",
"text": "undici 8.10.0 omits the destination origin from the cache and request-deduplication keys when the cache or deduplicate interceptor is composed directly onto a Client or Pool. Because the internal cache key falls back to an empty origin string, a cacheable or in-flight response from one upstream origin is returned for a request to a different, trusted origin whenever the method, path, and relevant headers match, which permits cross-origin information disclosure and persistent cache poisoning. The reporter demonstrated a full authentication bypass in which a JWT signed with an attacker-controlled key was accepted as belonging to a trusted issuer, and the trusted origin was never contacted. This is a regression introduced in 8.10.0 and affects undici versions from 8.10.0 up to 8.10.2. Applications using an Agent, which carries the origin in its dispatch options, are not affected. Users should upgrade to undici 8.10.2.",
"title": "CVE description"
}
],
"product_status": {
"recommended": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
},
"references": [
{
"category": "external",
"summary": "CVE-2026-85152",
"url": "https://www.suse.com/security/cve/CVE-2026-85152"
},
{
"category": "external",
"summary": "SUSE Bug 1279831 for CVE-2026-85152",
"url": "https://bugzilla.suse.com/1279831"
}
],
"remediations": [
{
"category": "vendor_fix",
"details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
"product_ids": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"scores": [
{
"cvss_v3": {
"baseScore": 7.4,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N",
"version": "3.1"
},
"products": [
"openSUSE Leap 16.0:pi-coding-agent-0:1.0.4-bp160.1.1.noarch",
"openSUSE Leap 16.0:pi-coding-agent-examples-0:1.0.4-bp160.1.1.noarch"
]
}
],
"threats": [
{
"category": "impact",
"date": "2026-10-09T15:27:19Z",
"details": "important"
}
],
"title": "CVE-2026-85152"
}
]
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.