Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach A2A server started with no secret
-
DeliverySend unauthenticated JSON-RPC tasks/send
-
ExploitBearer auth block skipped (no secret)
-
ExecutionExecutor runs attacker-controlled task text
-
ImpactRead results via tasks/get, cancel via tasks/cancel
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an A2AServer instance started via startServer() (or a programmatic mount) with no |
| Impact | This is a genuine but moderate-priority issue, best characterized as a fail-open authentication default rather than a widespread emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L, score 6.9) describes a network-reachable, low-complexity, unauthenticated flaw with low confidentiality, integrity, and availability impact confined to the A2A server itself - consistent with CWE-306 (missing authentication). The vuln.today decision label is 'this_month' (not act_now/emergency), and the vulnerability is NOT in CISA KEV, so there is no confirmed active exploitation. No EPSS score is provided in the input, so exploitation probability cannot be quantified from this data. A detailed proof-of-concept (curl-based JSON-RPC requests) is published in the GHSA advisory, which lowers the practical barrier to exploitation, though it is not labeled as a verified packaged exploit. The key mitigating factor that CVSS does not capture is deployment context: the server defaults to binding 127.0.0.1 (loopback), so real risk hinges on whether operators expose it on reachable interfaces - which the A2A inter-agent protocol explicitly encourages. A notable tension in the evidence: the GHSA advisory body states 'Fix status: not fixed' and bounds the affected range at <= 5.15.4, while the CVE description and the reporter's closing line state the fix is in 5.15.5 - verify the actual fixed release before relying on an upgrade. |
| Exploit ScenarioDerived | An operator deploys a Network-AI A2A agent with |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Network-AI's A2AServer fails open on authentication: the secret option is optional with no default and startServer() performs no fail-closed startup check, so an instance started without a secret accepts unauthenticated JSON-RPC tasks/send, tasks/get and tasks/cancel calls from anyone who can reach the listener. The npm package network-ai is affected through version 5.15.4 (vendor fix: 5.15.5); the default 127.0.0.1 bind limits exposure, but the A2A protocol is designed for inter-agent network communication, so operators who bind a reachable interface-or attackers using a co-located/container-network process or DNS rebinding against loopback-can submit attacker-controlled task text to the developer-supplied executor, read task results and cancel tasks. Rated moderate (CVSS 6.9, CWE-306), the issue is not in CISA KEV and no confirmed active exploitation exists, though the GitHub advisory publishes a curl-based proof-of-concept reference; the downstream impact beyond task records and executor output depends entirely on what the configured executor does with the supplied text.
RemediationAI
Vendor-released patch: upgrade the npm network-ai package to 5.15.5 (or later) as documented in GHSA-qvf5-9prv-7r9c, and confirm the new version refuses to serve task operations, or rejects them with 401, when no secret is configured. If upgrading immediately is not possible, set the secret option on every A2AServer instance-whether started via startServer() or mounted programmatically-so the Bearer check in route() is enforced; the trade-off is that legitimate A2A clients must then send an Authorization: Bearer <secret> header, which will break any existing unauthenticated integrations by design. Keep the default 127.0.0.1 bind and do not expose the A2A listener on 0.0.0.0 or other reachable interfaces while unauthenticated, and restrict access to the listener port from container networks and co-located processes, since loopback alone does not block container-network, co-located, or DNS-rebinding paths. Because the concrete impact beyond task creation, retrieval and cancellation depends on the developer-supplied executor, review executors for side effects reachable with attacker-controlled task text until the patched version is deployed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Network-AI is a Node.js/TypeScript package implementing a Google A2A agent over HTTP with JSON-RPC task operations, and the root cause is the classic CWE-306 missing-authentication-for-critical-function pattern rather than a memory-safety or injection flaw. In lib/a2a-server.ts, A2AServerOptions.secret is declared optional and assigned no default, startServer(port, hostname='127.0.0.1') calls createServer(...).listen() without validating that a secret exists, and route() wraps the Authorization: Bearer verification in if (this.options.secret) { ... }; when the option is undefined the entire guard is skipped and handleSend() passes attacker-supplied text directly to the configured executor. This is a fail-open design that contradicts the project's own Bearer-gated documentation and differs from the package's MCP transports, whose listen() methods refuse to start without a secret. CPE cpe:2.3:a:jovancoding:network-ai identifies the affected component; exploitation is conditional on an A2AServer started or mounted with no secret-the out-of-the-box default-and on network reachability, which the loopback default narrows but does not eliminate given container networks, co-located processes, DNS rebinding, and the intended non-loopback inter-agent deployments. The trigger is specifically a POST to /tasks (or /) carrying a JSON-RPC body; when a secret is configured the Bearer check applies and this bypass does not.
Know when Network Ai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Network-reachable with no auth in the default no-secret config (PR:N, AC:L); impact is limited to submitting/reading/cancelling tasks within the A2A server, so C/I/A are each Low.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Network-AI from 5.14.0 before 5.15.5 contains a missing authentication vulnerability in the A2AServer class that allows unauthenticated attackers to access task operations when no secret is configured. Attackers can send JSON-RPC requests to tasks/send, tasks/get, and tasks/cancel without a Bearer token to execute tasks, read results, and cancel tasks.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Related Vulnerabilities in Network-AI Path Traversal and Missing Authentication
View all 4More in Network Ai
View allAuthentication bypass in Network-AI versions 5.7.1 and earlier allows unauthenticated remote attackers to invoke all 22
SandboxPolicy bypass in Network-AI (versions before 5.15.1) enables authenticated attackers to execute arbitrary blocked
Truncation-induced interpretation conflict in Network-AI ClaudeHookBridge before 5.15.1 enables low-privileged attackers
Deny-pattern bypass in Network-AI's ClaudeHookBridge PreToolUse hook (versions 5.14.0 through 5.15.1) allows a prompt-in
Arbitrary recursive file deletion in Network-AI (npm package `network-ai`) before v5.12.2 allows a local attacker who ca
Sandbox path containment bypass in Network-AI's AgentRuntime (npm package `network-ai` by jovancoding) allows any low-pr
Path traversal in Network-AI's EnvironmentManager.restore() allows a local authenticated caller to copy arbitrary direct
Unauthenticated access to the ApprovalInbox HTTP server in Network-AI 5.0.0-5.12.1 allows any party that can reach the i
Symlink traversal in Network-AI's EnvironmentManager.backup() allows a local attacker with write access to an environmen
EUVD-2026-115003
GHSA-vw9p-p26h-v56v
NVD
CVE.org
EPSS
Exploit-DB