Loading vulnerability details...
| Property | Value |
|---|---|
| Advisory ID | SGZ-2026-BB5DA |
| Severity | HIGH |
| CWE | CWE-22 |
| Confidence | 95% |
| Category | path_traversal |
| Exploitability | confirmed |
| Package | express@latest (nodejs) |
| Location | lib/view.js:71-75 |
| Affected Functions | View.prototype.lookup |
| Attack Vector | NETWORK |
| Attack Complexity | LOW |
| Privileges Required | NONE |
| Discovered By | SafeGuard Zero-Day AI Discovery Engine |
The View.lookup method resolves the provided view name against configured root directories using path.resolve without validating that the resulting path stays within the intended root. An attacker controlling the view name can traverse directories (e.g., "../../../../etc/passwd") to read arbitrary files on the server when the view is rendered.
The vulnerability was identified in the file lib/view.js at lines 71-75 within the express package (version latest). The following functions are directly affected: View.prototype.lookup. Any code path that invokes these functions inherits this vulnerability.
File: lib/view.js (lines 71-75)
var loc = resolve(root, name);
var dir = dirname(loc);
var file = basename(loc);
path = this.resolve(dir, file);
The code above demonstrates the vulnerable pattern. This code is executed at runtime and can be directly exploited by an attacker with the appropriate access level.
Supply a crafted view name containing "../" sequences to the render function, causing the lookup to resolve outside the root and read the targeted file.
Arbitrary file read leading to disclosure of sensitive configuration, credentials, or source code.
Validate that the resolved path is a descendant of the configured root directory. After resolution, compare the normalized path prefix with the root and reject if it escapes.
Advisory: SGZ-2026-BB5DA | Source: SafeGuard Zero-Day AI Discovery | Status: Candidate
This vulnerability was autonomously discovered by SafeGuard's AI-powered Zero-Day Discovery engine using TAOR (Think-Act-Observe-Repeat) agentic analysis on the package source code. It is not yet tracked in any public vulnerability database (CVE, NVD, GHSA, OSV). This finding should be triaged by a security engineer and, if confirmed, reported upstream to the package maintainer.
| Property | Value |
|---|---|
| Advisory ID | SGZ-2026-BB5DA |
| Severity | HIGH |
| CWE | CWE-22 |
| Confidence | 95% |
| Category | path_traversal |
| Exploitability | confirmed |
| Package | express@latest (nodejs) |
| Location | lib/view.js:71-75 |
| Affected Functions | View.prototype.lookup |
| Attack Vector | NETWORK |
| Attack Complexity | LOW |
| Privileges Required | NONE |
| Discovered By | SafeGuard Zero-Day AI Discovery Engine |
The View.lookup method resolves the provided view name against configured root directories using path.resolve without validating that the resulting path stays within the intended root. An attacker controlling the view name can traverse directories (e.g., "../../../../etc/passwd") to read arbitrary files on the server when the view is rendered.
The vulnerability was identified in the file lib/view.js at lines 71-75 within the express package (version latest). The following functions are directly affected: View.prototype.lookup. Any code path that invokes these functions inherits this vulnerability.
File: lib/view.js (lines 71-75)
var loc = resolve(root, name);
var dir = dirname(loc);
var file = basename(loc);
path = this.resolve(dir, file);
The code above demonstrates the vulnerable pattern. This code is executed at runtime and can be directly exploited by an attacker with the appropriate access level.
Supply a crafted view name containing "../" sequences to the render function, causing the lookup to resolve outside the root and read the targeted file.
Arbitrary file read leading to disclosure of sensitive configuration, credentials, or source code.
Validate that the resolved path is a descendant of the configured root directory. After resolution, compare the normalized path prefix with the root and reject if it escapes.
Advisory: SGZ-2026-BB5DA | Source: SafeGuard Zero-Day AI Discovery | Status: Candidate
This vulnerability was autonomously discovered by SafeGuard's AI-powered Zero-Day Discovery engine using TAOR (Think-Act-Observe-Repeat) agentic analysis on the package source code. It is not yet tracked in any public vulnerability database (CVE, NVD, GHSA, OSV). This finding should be triaged by a security engineer and, if confirmed, reported upstream to the package maintainer. This vulnerability involves weaknesses in
This high-severity vulnerability could allow attackers to gain unauthorized access, execute arbitrary code, or compromise data integrity. Prompt remediation is strongly recommended.
Isolate affected systems from untrusted networks until patching is complete
Implement enhanced monitoring for exploitation attempts and unusual behavior