Skip to main content

anchorme EUVDEUVD-2026-89484

| CVE-2026-103043 HIGH
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-09-29 VulnCheck GHSA-phc2-88rx-x2mp
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify endpoint passing user text to anchorme
  2. Delivery
    Submit crafted repeated-pattern IPv6-like string
  3. Exploit
    Regex enters catastrophic backtracking
  4. Execution
    Node.js event loop blocked
  5. Impact
    Service denied to all clients

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Exploitation requires that a target application actually invokes anchorme (<=3.0.8) on attacker-controllable input AND that the input reaches the vulnerable IPv6 host-extraction regex. The most impactful deployment is server-side use on Node.js, where the single-threaded event loop means one malicious string can degrade the entire process for all users; client-side/browser use only degrades the individual attacker's own tab and is not a service-wide DoS. No authentication (PR:N) or user interaction (UI:N) is needed. Limiting factors: the library must be used with untrusted input, the specific IPv6 extraction path must be exercised, and severity in practice hinges on whether it runs on a shared server process versus per-client browser context.

Impact

This is a genuine but bounded availability risk. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VA:H, all confidentiality/integrity metrics N) correctly characterizes a pure denial-of-service flaw: remotely reachable, low complexity, no authentication or user interaction, with impact limited entirely to availability. The 8.7 score is driven solely by VA:H against a network-reachable, unauthenticated path. No EPSS score was provided, there is NO CISA KEV listing, and no vendor-confirmed public exploit is asserted in the input - though one reference is a GitHub gist (mmadersbacher) that likely contains reproduction/PoC details; this is inferred, not confirmed. No SSVC decision data was supplied. The realistic priority is moderate: ReDoS in a widely-used JavaScript link-detection library is credible and cheap to trigger, but actual impact depends entirely on whether an application feeds untrusted input through anchorme on a single-threaded Node.js server and whether the vulnerable IPv6 host-extraction code path is exercised. This is a real issue to patch, not a mislabeled high-CVSS non-event, but it is availability-only with no code execution or data exposure.

Exploit ScenarioDerived

An application uses anchorme (<=3.0.8) server-side to auto-linkify user-submitted text (e.g. comments, chat messages, profile fields) on a Node.js backend. An attacker submits a crafted string with repeated patterns matching the IPv6 host-extraction regex, causing exponential backtracking that pins the CPU and blocks the single-threaded event loop, stalling all concurrent requests. A referenced GitHub gist appears to document reproduction, so a working trigger string is likely publicly derivable.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 29, 2026

Regular expression denial of service in anchorme (published as anchorme.js on npm) through version 3.0.8 lets unauthenticated remote attackers stall a Node.js process by supplying crafted strings with repeated patterns that drive catastrophic backtracking in the IPv6 host-extraction regex. The vendor-supplied CVSS 4.0 score is 8.7, while the independent assessment scores it CVSS 3.1 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), reflecting a pure availability impact that is most severe in server-side deployments where the single-threaded event loop is shared across users; browser-side use only degrades the attacker's own tab. No CISA KEV entry or public exploit code was identified at time of analysis, and the practical severity hinges on whether anchorme is invoked on untrusted input in a shared server process.

RemediationAI

No vendor-released patch identified at time of analysis and no fixed version is recorded in the CPE, so teams should monitor https://github.com/alexcorvi/anchorme.js and https://www.vulncheck.com/advisories/anchorme-through-3.0.8-regular-expression-denial-of-service for an updated release and pin to a patched version as soon as one is published. Until then, the most direct compensating control is to keep attacker-controlled strings away from the IPv6 host-extraction regex: enforce a conservative maximum input length before calling anchorme (trade-off: legitimate long text or URLs may be clipped and not fully linkified) and pre-filter bracket-delimited IPv6 literal candidates with many colon-separated groups (trade-off: genuine IPv6 links in that input will not be auto-linked, a functional regression). Execute anchorme in a worker thread, child process, or separate bounded service with a hard execution timeout so a pathological match can be terminated instead of blocking the main event loop (trade-off: added latency, memory use, and serialization overhead for the processed text). If IPv6 linkification is not a requirement, replace anchorme with an actively maintained linkification library or a non-backtracking URL matcher (trade-off: migration effort and possible differences in link detection). Edge rate limiting and request timeouts are only residual safeguards, because a single crafted request can still stall the process, so they should not be treated as removing the underlying backtracking condition.

Affected VersionsENISA

anchorme 0 ≤3.0.8

Affected Packages

euvd anchorme no fix

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

CVE-2026-103043 is a CWE-1333 inefficient-regular-expression-complexity flaw in anchorme, a JavaScript URL-linkification library (npm package 'anchorme', repository alexcorvi/anchorme.js). The vulnerable logic is the regex that extracts IPv6 host portions of candidate URLs, located at src/index.ts line 109 of commit f3ae9850baa344f27b46bb149e9b891831d273b1; the pattern's ambiguous, nested quantifiers are susceptible to catastrophic backtracking, so an input containing many repeated colon-separated groups or unbalanced bracket constructs forces the JavaScript engine to explore an exponential number of backtracking paths instead of failing fast. Because Node.js executes JavaScript on a single cooperative event loop, one such match monopolizes the thread and prevents the process from servicing other requests. The CPE cpe:2.3:a:alexcorvi:anchorme:*:*:*:*:*:*:*:* uses a wildcard version, meaning the catalogued component is the anchorme package with no fixed version recorded, consistent with the advisory's statement that all releases through 3.0.8 are affected. Exploitation requires an application that actually passes attacker-controllable text to anchorme and that exercises the vulnerable IPv6 extraction path; no authentication (PR:N) or user interaction (UI:N) is needed per the assessed vector, though authentication requirements are not confirmed by the provided description text alone.

Know when Anchorme 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.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote unauthenticated crafted input with no interaction (AV:N/AC:L/PR:N/UI:N); pure ReDoS so C:N/I:N and A:H, no scope change.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

anchorme through 3.0.8 contains a regular expression denial of service vulnerability in the IPv6 host extraction regex due to catastrophic backtracking. Attackers can supply specially crafted input strings with repeated patterns to cause exponential regex engine backtracking, blocking the Node.js event loop and denying service to other requests.

Executive ViewAI

Why It Matters

anchorme.js through version 3.0.8 poses a high-severity availability risk for server-side Node.js applications that process untrusted strings, allowing unauthenticated attackers to stall shared processes and disrupt service for all users on an affected instance. Leadership should prioritize this because a single crafted input can degrade or halt critical services, even though no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: avoid invoking anchorme.js <=3.0.8 on untrusted input, enforce strict input length and character limits, run parsing in an isolated worker/process with CPU and timeout limits, apply rate limiting, replace anchorme with a safe alternative or disable IPv6 host extraction where feasible, and monitor Node.js event-loop latency for stalls.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular npm URL/link-detection library, common but not core infrastructure
Data Quality
5 sources
Confidence: Medium

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 No
EPSS 0.4%
Patch available No
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
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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