Skip to main content

EventCatalog SDK CVE-2026-116046

| EUVDEUVD-2026-109370 MEDIUM
Path Traversal (CWE-22)
2026-10-25 VulDB GHSA-wcv6-jfg6-vfc5
4.8
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Local access to SDK caller
  2. Exploit
    Supply traversal sequence in options.path
  3. Impact
    Read/write/delete file outside catalog docs directory

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Requires the ability to pass an attacker-controlled path value - options.path for getCustomDoc/getCustomDocs, or the directory/file-name arguments for writeCustomDoc/rmCustomDoc - into the vulnerable functions in packages/sdk/src/custom-docs.ts. The pre-2.30.0 code joined these values directly to the catalog docs directory without containment, so '../' sequences, leading-slash/absolute paths, Windows drive-letter or UNC paths, null bytes, or symlinks escape that directory. Exploitation is LIMITED to local-host access (AV:L) by a caller that already has privileges to invoke the SDK (PR:L), which in typical use is a local build/documentation tooling context rather than a network-facing service; there is no remote or unauthenticated path from the available data.

Impact

This is a moderate-severity, low-urgency issue rather than a top priority. All impact signals point low: the sole CVSS vector supplied is CVSS:4.0 (base 4.8) with AV:L (local), AC:L, AT:N, PR:L (authenticated/privileged caller), UI:N, and only low confidentiality, integrity and availability impact (VC:L/VI:L/VA:L), with no scope change. There is no EPSS score in the input, this CVE is not on the CISA KEV list, and no public exploit code or working-PoC reference is present - only VulDB advisory pages and the vendor patch/PR/commit/release links. The vuln.today decision label is 'this_month', which is consistent with the low CVSS and absence of exploitation evidence - this is not an act_now or emergency item. The flaw is a genuine path traversal (CWE-22) confirmed by the vendor's own fix, but the local attack vector and the fact that the affected code is a developer SDK (not a network-exposed service) sharply limit real-world risk. No signals conflict; the picture is uniformly low. The only mild caveat is that path traversal enabling writes and deletes outside the docs directory could, in some callers, have higher integrity/availability consequences than the vendor's uniform 'low' rating suggests, but the evidence does not establish a higher impact.

Exploit ScenarioDerived

An actor who can supply the options.path (or directory/file name) argument to the EventCatalog SDK's getCustomDoc/writeCustomDoc/rmCustomDoc functions on the local host passes a traversal sequence (e.g. '../', an absolute path, a drive-letter/UNC path, or a path through a symlink) so the read, write, or delete lands outside the intended catalog docs directory. No public exploit code is identified; exploitation requires local access and control of the path argument, consistent with the AV:L/PR:L vector.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
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 – Oct 25, 2026

Path traversal in the EventCatalog (@eventcatalog/sdk) custom-documentation helpers, fixed in 2.30.0, lets a caller that already has local access to the SDK escape the catalog docs directory when reading, writing, or deleting custom docs. The vulnerable functions getCustomDoc, getCustomDocs, writeCustomDoc and rmCustomDoc joined attacker-supplied path values directly onto the docs directory, so '../' sequences, absolute or leading-slash paths, Windows drive-letter or UNC paths, null bytes, or symlinks could redirect file operations outside the catalog. Exploitation is limited to local-host callers who can already invoke the SDK - typically local build or documentation tooling rather than a network service - with low confidentiality, integrity and availability impact; no public exploit code was identified at time of analysis and the issue is rated moderate with low urgency.

RemediationAI

Vendor-released patch: upgrade @eventcatalog/sdk to version 2.30.0 (release tag @eventcatalog/sdk@2.30.0), which contains the path-containment changes from PR #2936 / commit a4f072a03f440d58230092e88d8b4893f4c6d6ca and keeps custom doc reads, writes and deletes inside the catalog docs directory; see https://github.com/event-catalog/eventcatalog/pull/2936 and https://github.com/event-catalog/eventcatalog/releases/tag/%40eventcatalog%2Fsdk%402.30.0 for details. VulDB lists the issue at https://vuldb.com/vuln/426122. Until the upgrade is applied, the exposure is limited to local callers that invoke the SDK with untrusted path input, so ensure the tooling that supplies options.path, directories and file names for these helpers does not accept untrusted values, though the patch is the complete fix for the underlying path validation gap.

Affected VersionsENISA

SDK 2.27
SDK 2.7
SDK 2.15
SDK 2.4
SDK 2.10
SDK 2.18
SDK 2.3
SDK 2.16
SDK 2.5
SDK 2.20
SDK 2.14
SDK 2.6
SDK 2.8
SDK 2.21
SDK 2.19
SDK 2.0
SDK 2.2
SDK 2.24
SDK 2.13
SDK 2.1
SDK 2.26
SDK 2.28
SDK 2.25
SDK 2.11
SDK 2.9
SDK 2.23
SDK 2.22
SDK 2.17
SDK 2.29.0
SDK 2.12

Affected Packages

euvd sdk 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

The EventCatalog SDK is a Node.js/TypeScript library (packages/sdk/src/custom-docs.ts) whose custom-documentation helpers read, write and remove .mdx files under a catalog docs directory. Pre-fix code used raw path.join(directory, filePath) and built glob patterns such as ${directory}/${options.path}/**/*.{md,mdx} without validating that the resolved location stayed inside that root, a classic CWE-22 path traversal. The upstream fix (PR #2936, commit a4f072a0) adds containment logic: toRelativeCatalogSegment rejects null bytes, drive-letter paths and UNC paths and normalizes backslashes and leading slashes; resolveCustomDocFile and resolveCustomDocWritePath resolve the candidate and assert it lies under the docs root; assertInsideDocsRoot additionally compares real paths via a custom resolveRealPath that uses lstat and readlink to detect symlinks even when the target does not exist (so dangling symlinks cannot be followed to create or delete external files). The trigger is a caller passing an attacker-controlled path value - options.path for getCustomDoc/getCustomDocs (and the directory and file-name arguments for writeCustomDoc/rmCustomDoc) - which in practice means local build or documentation tooling that processes untrusted catalog content; the supplied evidence does not describe any network-reachable path to these functions.

Know when Sdk 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 (VulDB) PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

SDK runs locally and the caller controls the path argument, so AV:L and PR:L; traversal enables reads, writes and deletes outside the docs directory, giving low C/I/A with no scope change.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

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

DescriptionCVE.org

A flaw has been found in eventcatalog sdk up to 2.29.0. This vulnerability affects the function getCustomDoc/writeCustomDoc/rmCustomDoc of the file packages/sdk/src/custom-docs.ts of the component Custom Documentation Helpers. This manipulation of the argument options.path causes path traversal. It is possible to launch the attack on the local host. Upgrading to version 2.30.0 is able to resolve this issue. Patch name: a4f072a03f440d58230092e88d8b4893f4c6d6ca. The affected component should be upgraded. The vendor was contacted early, responded in a very professional manner and quickly released a fixed version of the affected product.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
niche developer SDK for event-driven architecture docs, limited footprint
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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