Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local shell account on shared host
-
DeliveryWait for or trigger Summarize config rewrite via refresh-free path
-
ExploitLocate world-readable config file on filesystem
-
ExecutionRead config file to extract API keys and provider credentials
-
ImpactAbuse credentials against external AI provider APIs
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
|
| Exploitation Conditions | Exploitation requires: (1) the attacker holds a local user account on the same Unix-like system as the Summarize user (CVSS PR:L confirms authenticated local access is required); (2) the victim has run Summarize and the refresh-free configuration rewrite path has been exercised at least once, creating or overwriting the config file with default umask permissions; (3) the resulting config file is world-readable (i.e., the process umask was 022 or less restrictive, producing mode 0644 or wider). Exploitation is limited by: single-user or isolated-container deployments where no other local users exist (the most common developer workstation case); a restrictive umask (077) set before Summarize runs; or manual chmod hardening of the config file post-creation. The vulnerability does NOT affect confidentiality or integrity of data in transit, remote systems, or any path other than the refresh-free config rewrite code path. |
| Impact | CVSS 5.5 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) correctly frames this as a local, low-complexity, low-privilege issue with high confidentiality impact but no integrity or availability effect. The local attack vector (AV:L) and required low privileges (PR:L) are the primary risk limiters: exploitation requires an attacker who already has a shell session on the same machine. This materially constrains risk outside shared server or CI/CD pipeline environments. No EPSS data was provided in the input; no KEV listing exists; and no public exploit or proof-of-concept has been identified at time of analysis. The practical severity is higher than CVSS suggests on shared build servers or cloud development environments where multiple users share a host running Summarize - in those scenarios, credential theft is a realistic lateral-movement primitive. On single-user workstations the risk is negligible. There is no conflicting signal between the CVSS vector and the description: both consistently indicate local access is required. |
| Exploit ScenarioDerived | An attacker with a local shell account on a shared Linux server (a CI/CD runner, a developer workstation with multiple users, or a cloud VM) runs 'cat ~/.config/summarize/config' (or equivalent path) after Summarize has been used by another user whose config was rewritten via the refresh-free path, reading the world-readable file directly to obtain API keys and provider credentials. No special tooling is required - standard filesystem read access is sufficient given the overly permissive file mode. The attacker can then use the extracted credentials to impersonate the victim against external AI providers or services integrated with Summarize. No public exploit code exists; the attack requires only knowledge of the config file location and a local user account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 18, 2026
Insecure file permission assignment in the @steipete/summarize CLI tool exposes configuration files containing API keys and provider credentials to other local users on shared Unix-like systems. All versions prior to 0.15.1 (CPE: cpe:2.3:a:steipete:summarize) are affected via a specific code path - the refresh-free configuration rewrite - that creates replacement config files using the process default umask rather than preserving original file permissions. No public exploit code exists and this is not listed in the CISA KEV catalog; however, the high-confidentiality CVSS signal (C:H) reflects the real sensitivity of what is exposed (API keys, provider credentials) when Summarize is used on multi-user Unix environments.
RemediationAI
Upgrade to @steipete/summarize v0.15.2 (npm dist-tag latest, published 2026-05-17, integrity sha512-kW4SeT7UlHAypcuIyVO3sg/z9SwNRQkT9c52ElDEqqSUQUW9iJcQ2JLPV/o/3HzEazOrlSzCg9WUH1CooZ34FQ==) via 'npm install -g @steipete/summarize@latest' or equivalent. The upstream patch is commit 9e990193650a23dab73f37d5e1964d574a44098b (PR #217, https://github.com/steipete/summarize/pull/217); the release is tagged at https://github.com/steipete/summarize/releases/tag/v0.15.2. For systems that cannot upgrade immediately, set a restrictive umask (077) for the user account running Summarize before invoking the tool - this prevents world-readable file creation but must be applied per session or in the user's shell profile. Additionally, manually audit and restrict existing config files with 'chmod 600 ~/.config/summarize/config' (or equivalent path) and rotate any API keys or provider credentials that may have been exposed. The umask workaround has a trade-off: it affects all file creation in that shell session, not just Summarize, which may cause permission issues for other tools. Vendor advisory: https://www.vulncheck.com/advisories/summarize-insecure-file-permissions-information-disclosure.
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
CWE-732 (Incorrect Permission Assignment for Critical Resource) describes the root cause precisely: when the refresh-free configuration rewrite path executes, it creates the new config file under the process's default umask rather than inheriting the permission mask of the file it replaces. On most Unix-like systems the default umask of 022 produces world-readable files (mode 0644), meaning any local user can open the configuration file and read its contents. The @steipete/summarize tool (npm packages @steipete/summarize and @steipete/summarize-core) stores API keys and provider credentials in this config file, making the permission leak directly exploitable for credential theft. The vulnerability is path-specific - it manifests only through the refresh-free rewrite code path, not necessarily all config write operations - which may limit exposure depending on how often that path is exercised.
Know when Summarize 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:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Primary rating from Vendor (VulnCheck) · only source for this CVE.
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Summarize prior to 0.15.1 contains an insecure file permission vulnerability in the refresh-free configuration rewrite path that allows local users to read sensitive credentials by exploiting default filesystem permissions. When the refresh-free path rewrites the configuration file, it creates the replacement with default process umask permissions instead of preserving the original file permissions, exposing the config file containing API keys and provider credentials to other local users on shared Unix-like systems.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Path traversal in steipete/summarize prior to 0.15.1 lets authenticated callers of the /v1/summarize daemon endpoint wri
Summarize versions through 0.14.1 create daemon configuration files with world-readable permissions, allowing local atta
Server-side request forgery in steipete/Summarize before v0.17.0 enables an attacker who controls a podcast RSS feed to
Disk exhaustion in Summarize CLI (all versions before 0.17.0) allows remote attackers who control a podcast feed or medi
Missing authorization in the Summarize browser extension's content script window.postMessage bridge permits any maliciou
Server-side request forgery in the Summarize browser extension prior to version 0.15.2 allows malicious web pages to coe
Missing authorization in the Summarize browser extension (versions prior to 0.15.1/0.15.2, CPE: cpe:2.3:a:steipete:summa
EUVD-2026-30799
GHSA-cjvq-x32c-xrmv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB