Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft repo with escaping symlink
-
DeliveryVictim runs am render on repo
-
ExploitlocalPath check bypassed, symlink unresolved
-
ExecutionExternal file embedded into HTML output
-
ImpactShared HTML discloses sensitive file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
|
| Exploitation Conditions | Exploitation requires the victim to run the |
| Impact | This is a low-priority, low-real-risk issue despite being a genuine vulnerability. The vendor-supplied CVSS 4.0 base score is only 2.0, and all signals align on low severity: the vector is local (AV:L), requires a specific attack condition (AT:P - a crafted repository), passive user interaction (UI:P - the victim must run |
| Exploit ScenarioDerived | An attacker publishes a repository (or submits a PR/sample project) containing a markdown/code block with a |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Symlink-following path handling in the answer-me-with-html am CLI (through version 0.5.0) causes am render to embed files from outside the repository checkout - potentially SSH keys, config files or other data readable by the victim's process - into the generated HTML, which then leaks them if that output is shared or published. The attack is narrow: an attacker must deliver a crafted repository (local vector, AT:P), the victim must deliberately render it (passive user interaction), and the targeted file must be readable by the victim's process, which is why the CVSS 4.0 base score is only 2.0 (AV:L/AC:L/AT:P/PR:N/UI:P, confidentiality low, no integrity or availability impact). No public exploit code and no confirmed active exploitation were identified at time of analysis; the CVSS vector carries PR:N, so no authentication is required, and our independent assessment rates this as a low-priority, low-real-risk issue despite being a genuine vulnerability.
RemediationAI
No vendor-released patch was identified in the available intelligence at time of analysis, so remediation must start with compensating controls. The single most effective measure is to stop running am render on repositories you did not create or do not trust; because the attacker's payload is repository content rather than network traffic, this removes the exposure entirely at the cost of losing the ability to render or review third-party documents. If untrusted repositories must be rendered, do it inside a disposable sandbox or container that mounts only the repository directory read-only and runs as a low-privilege account with no access to home directories, SSH keys, cloud credentials or environment files - the trade-off is extra tooling overhead and possible breakage of legitimate relative-path assets, but it contains the file-disclosure impact to files actually reachable in the sandbox. Before rendering, scan the checkout for symlinks that escape the project root (for example find . -type l -exec realpath {} \; and compare against the checkout path) or reject code-block src= attributes altogether; this defeats the specific attack but may break repositories that legitimately use symlinks or external embeds. Treat any HTML produced from an untrusted repository as sensitive and do not publish, commit or share it without reviewing the inlined content, since the disclosure only materializes once the generated file is distributed. For maintainers of the project, the durable fix is to harden localPath() so it calls fs.realpath on the resolved path and then verifies the real path is still contained within the repository root before reading it, returning an error otherwise - the same pattern used to fix comparable CWE-59 issues - and to confirm that change is released in a tagged version, since the referenced commit b275eba8d4cc49bcb4bbc28459863f4b49a480f9 is the vulnerable code location and not a confirmed fix. Additional context is in the VulnCheck advisory at https://www.vulncheck.com/advisories/answer-me-with-html-through-0.5.0-symlink-following-in-code-block-src-embedding and the researcher write-up at https://hackmd.io/@haind/answer-me-with-html-code-src-symlink-escape.
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
The issue is a classic link-following (CWE-59) flaw in the code-block src= embedding path of the answer-me-with-html tool, a Node.js CLI that converts markdown/answer documents into standalone HTML. In the referenced source (src/code.js, lines 74-105 at commit b275eba8d4cc49bcb4bbc28459863f4b49a480f9), the localPath() helper validates only the literal path text supplied in the src= attribute; it does not call something like fs.realpathSync to resolve symlinks or verify that the resolved target still resides inside the repository root. An attacker therefore ships a git repository containing a symlink whose target points outside the checkout (for example ./asset.txt -> ~/.ssh/id_rsa), and when the victim runs am render on that repository the CLI opens the symlink target and inlines its contents into the produced HTML. The final disclosure step depends on the generated HTML being shared, published or otherwise distributed afterwards. This matches the CVSS 4.0 vector CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N (attack requirements present, passive user interaction needed), and is consistent with our independent CVSS 3.1 assessment of AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N - exploitability hinges almost entirely on the victim voluntarily rendering attacker-controlled content and then redistributing the resulting file.
Know when Answer Me With Html 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:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Attacker needs victim to render an untrusted repo (AV:L, UI:R) and a readable symlink target plus sharing step (AC:H); no auth needed (PR:N); only partial file disclosure (C:L), no integrity/availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
answer-me-with-html through 0.5.0 contains a link following vulnerability in the am CLI code block src= embedding, where localPath() checks only path text without resolving symlinks. Attackers can ship a repository with a symlink pointing outside the checkout so am render embeds readable external files into generated HTML, disclosing them when shared.
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.
EUVD-2026-96889
GHSA-7v7j-pmcf-62v5
NVD
CVE.org
EPSS
Exploit-DB