CVE-2026-106507 in Backstageinfo

Summary

by MITRE • 10/07/2026

Backstage is an open framework for building developer portals. Prior to 1.15.4, the @backstage/plugin-techdocs-node package is affected by techdocs arbitrary file read via mkdocs snippets. Unsafe path resolution in TechDocs source tree handling allows an authenticated user who can register documentation sources to include content from outside the intended documentation boundary. Depending on deployment, this may expose files readable by the build process. This issue is fixed in version 1.15.4.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/07/2026

The vulnerability identified within Backstage prior to version 1.15.4 represents a significant security flaw in the TechDocs plugin for Node.js, specifically concerning how documentation sources are processed and resolved. Backstage serves as an open framework designed to help organizations build developer portals that centralize software cataloging, documentation, and tooling integration. The core issue lies within the @backstage/plugin-techdocs-node package, which is responsible for rendering technical documentation using MkDocs under the hood. When users register external or internal documentation sources into Backstage, the system parses these inputs to generate static HTML pages. However, the path resolution logic implemented in this version fails to adequately sanitize file paths when processing MkDocs snippets and includes directives embedded within Markdown files.

This flaw constitutes an Arbitrary File Read vulnerability, which is formally categorized under CWE-22: Improper Limitation of a Pathname to a Restricted Directory. The technical mechanism involves unsafe handling of relative path references in the documentation source tree. An authenticated user with permissions to register or modify documentation sources can craft Markdown content that includes directives pointing to files outside the designated documentation boundary. Because MkDocs allows for dynamic inclusion of external files during the build process, Backstage inadvertently permits these requests to traverse up directory levels using standard traversal sequences such as dot-dot-slash patterns. This lack of strict validation enables the attacker to reference sensitive system files located on the server hosting the TechDocs service.

The operational impact of this vulnerability is severe depending on the deployment context and the privileges held by the process executing the documentation build. If the Backstage instance runs with elevated permissions or if the underlying infrastructure exposes sensitive configuration files, environment variables containing secrets, or internal application code through accessible paths, an attacker can exfiltrate this data via the rendered output of the maliciously crafted documentation page. This effectively bypasses standard access controls because the request originates from a legitimate user session interacting with a trusted component of the platform. The attack aligns with ATT&CK technique T1083: File and Directory Discovery, as it allows an adversary to enumerate and read files that are not intended for public consumption, potentially leading further into lateral movement or credential theft if sensitive artifacts like SSH keys or API tokens are exposed.

Mitigation strategies primarily involve upgrading the Backstage installation to version 1.15.4 or later, where this path resolution logic has been hardened to strictly enforce boundary constraints and prevent directory traversal attacks. In environments where immediate patching is not feasible, administrators should implement strict network segmentation to isolate the TechDocs service from sensitive internal resources. Additionally, running the documentation build process with minimal privileges ensures that even if a file read occurs, the attacker cannot access critical system files protected by operating system permissions. It is also advisable to audit existing documentation sources for any custom MkConfigs or includes directives that might rely on relative paths and replace them with absolute references within allowed directories where possible.

Responsible

GitHub M

Reservation

10/06/2026

Disclosure

10/07/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!