Skip to main content

knowns EUVDEUVD-2026-72558

| CVE-2026-86540 HIGH
OS Command Injection (CWE-78)
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker crafts repository with malicious .knowns/config.json binary path
  2. Delivery
    Victim clones or downloads attacker-controlled repository
  3. Exploit
    Victim opens repository in knowns < 0.30.0
  4. Execution
    LSP subsystem reads unvalidated binary field from project config
  5. Persist
    knowns passes attacker path to OS exec twice across two code sites
  6. Impact
    Arbitrary code executes under victim's user account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The victim must be running knowns before v0.30.0 and must open a project directory containing a .knowns/config.json with a malicious value in settings.lsp.languages.[langID].binary (for example, settings.lsp.languages.go.binary set to /bin/sh or any attacker-controlled path). The malicious repository must be present on the victim's local filesystem, typically via clone or download. The exploit triggers automatically during LSP initialization on project open, requiring no further user action within the application. Limiting factors: the victim must specifically use knowns rather than a mainstream editor; the malicious config file must reach disk before the project is opened; and the victim must be running a version prior to 0.30.0. No special system privileges or non-default OS configuration are required on the victim side.

Impact

The vendor-issued CVSS 4.0 score of 8.5 with vector AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H accurately represents the real-world risk profile. The local attack vector (AV:L) is the principal limiting factor: the malicious config must reach the victim's filesystem, typically via a repository clone or download. However, the UI:P metric correctly captures that the only user interaction required is opening a project in knowns - a routine, habitual developer action that provides minimal friction. No EPSS score or KEV listing is available for this CVE, and no public exploit code is identified at time of analysis; these signals moderate urgency for most teams. That said, the fully public patch diff and GHSA advisory lower the barrier to exploit development significantly, and the pattern of triggering code execution by opening a malicious repository is well-understood from analogous IDE-level supply-chain attacks. Developer-facing teams that regularly open repositories from external contributors or open-source projects represent the highest-risk population, and any team in that situation - whether a large enterprise or a small development shop - should treat this as a prompt patch priority given the zero-friction exploitation path once a malicious repository reaches disk.

Exploit ScenarioDerived

An attacker publishes or contributes a repository containing a .knowns/config.json that sets a language server binary (for example, the Go language entry) to /bin/sh or another attacker-controlled executable. When a developer running knowns before 0.30.0 clones and opens this repository, knowns automatically invokes the malicious binary twice during LSP initialization - executing arbitrary code under the developer's account with no further interaction. No public exploit code is identified at time of analysis, but the patch diff fully documents both vulnerable call sites.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 07, 2026

Arbitrary binary execution in knowns before 0.30.0 is triggered when a developer opens a repository containing a crafted .knowns/config.json with a malicious settings.lsp.languages binary value. The LSP subsystem passes the attacker-controlled binary path directly to OS execution routines without any allowlist check, invoking the path twice under the victim's user account with no verification step. No public exploit is identified at time of analysis, though the GitHub security advisory GHSA-mc52-mwq4-vfx3 and the patch commit d3989829 provide full technical detail on both vulnerable code paths.

RemediationAI

Upgrade knowns to v0.30.0 or later; the release is available at https://github.com/knowns-dev/knowns/releases/tag/v0.30.0 and the fixing commit is d3989829fb5095666d23d005b2f78a082832a396. The patch introduces strict allowlist validation of LSP binary overrides, ensuring only pre-registered language server binary names are accepted from project configuration. Until the upgrade is applied, the most effective compensating control is to avoid opening repositories from untrusted or unreviewed sources in knowns; organizations can additionally audit .knowns/config.json files in cloned repositories before opening them, inspecting the settings.lsp.languages field for unexpected binary values. No configuration-level toggle exists in unpatched versions to disable LSP binary override processing. Restricting filesystem access or sandboxing developer workstations provides partial defense but does not eliminate the execution path.

Affected VersionsENISA

knowns 0 <0.30.0

Affected Packages

npm knowns fix: 0.30.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

knowns is a developer environment with Language Server Protocol (LSP) integration, identified by CPE cpe:2.3:a:knowns-dev:knowns. LSP enables editors to delegate language intelligence tasks - auto-complete, diagnostics, references - to per-language server processes such as gopls for Go. The vulnerability is CWE-78 (Improper Neutralization of Special Elements used in an OS Command). Per-project configuration in .knowns/config.json may specify a binary override for each language server via the settings.lsp.languages.[langID].binary field. The vulnerable code paths are internal/lsp/detect.go (lines 128-157) and internal/models/config.go (lines 205-216): these constructed Binary or BinaryCandidate structs directly from the config-supplied name without validating it against any registered set, then forwarded the name to OS execution. The fix (commit d3989829) introduces selectBinaryOverride() and selectBinaryCandidateOverride() in a new binary_override.go, which enforce an allowlist by matching the override name strictly against binaries declared by the language adapter - rejecting any path or name not pre-registered. The same allowlist logic was applied across detect.go, manager.go, and status.go, corresponding to the two independent execution sites mentioned in the description.

Know when Knowns 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

Vendor (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Malicious config must be on local disk (AV:L); victim opens project (UI:R); no privileges or special conditions needed; full code execution under user account (C:H/I:H/A:H).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

knowns versions before 0.30.0 fail to validate the settings.lsp.languages binary field in project configuration files, allowing attackers to execute arbitrary binaries by crafting a malicious .knowns/config.json file. When a repository with a crafted configuration is opened, the unvalidated binary path is executed twice under the user's account without any verification.

Technical POC Analysis

The flaw is arbitrary execution of an attacker-influenced executable path.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Knowns, a developer configuration tool, contains a vulnerability enabling attackers to execute arbitrary code on developer machines through malicious repository configurations. This creates supply chain risk through potential compromise of development environments and code injection into organizational projects. Immediate patching and developer assessment are required.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Rare
obscure niche developer tool, small open-source project footprint
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

More in Knowns

View all
CVE-2026-86543 CRITICAL
9.3 Sep 07

Missing authentication in Knowns (knowns-dev/knowns) before 0.30.0 exposes the management API on all network interfaces

CVE-2026-88899 CRITICAL
9.3 Sep 10

External control of a filesystem path in Knowns (knowns-dev/knowns) before 0.31.0 lets remote attackers escape the proje

CVE-2026-86775 HIGH
8.8 Sep 09

Path traversal in the knowns npm documentation tool (versions ≤ 0.29.1) enables remote unauthenticated attackers to read

CVE-2026-86542 HIGH
8.8 Sep 07

Path traversal in knowns before v0.30.0 permits unauthenticated remote attackers to write files outside the designated i

CVE-2026-86439 HIGH POC
8.7 Sep 07

Path traversal in knowns (a Go-based MCP-integrated knowledge management server) before version 0.30.0 allows authentica

CVE-2026-86538 HIGH POC
8.7 Sep 07

Path traversal in the knowns template-preview API (versions before 0.30.0) allows unauthenticated remote attackers to re

CVE-2026-88939 HIGH
8.7 Sep 10

Privilege escalation in knowns through 0.33.0 permits authenticated read-only agent sessions to bypass authorization con

CVE-2026-88937 HIGH
8.6 Sep 10

Path traversal in the knowns code generation template engine (versions through 0.33.0) allows unauthenticated remote att

CVE-2026-86541 HIGH
7.2 Sep 07

Path traversal in the knowns MCP server's handleCodeReplace() function allows unauthenticated network attackers to overw

CVE-2026-86544 HIGH
7.2 Sep 07

Authorization bypass in knowns before v0.30.0 allows low-privileged users holding read-restricted sessions to escalate p

CVE-2026-88938 HIGH
7.1 Sep 10

Path traversal in knowns through version 0.33.0 allows authenticated AI agent sessions to read arbitrary files anywhere

CVE-2026-86539 MEDIUM
6.9 Sep 07

Server-side request forgery in Knowns ≤0.33.0 enables unauthenticated remote attackers to make the server issue outbound

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy