Loading...
Skip to main content

CVE-2026-46391 — Vulnerability in @haxtheweb/open-apis — CVE Details

HIGH

HAX open-apis: Credential Theft via Server-Side Request Forgery (SSRF) in open-apis

Published May 19, 2026Updated September 10, 2026Source: osv

Summary

### Summary Multiple functions conduct substring-only matching to validate hostnames to which basic authorization should be sent. An attacker can append the matched substrings to an attacker-controlled endpoint and capture authentication. ### Details [api/services/website/cacheAddress.js](https://github.com/haxtheweb/open-apis/blob/ff694ce91442c39ae1a78dc21e9ce50546aa207a/api/services/website/cacheAddress.js#L21), [api/apps/haxcms/lib/JOSHelpers.js](https://github.com/haxtheweb/open-apis/blob/ff694ce91442c39ae1a78dc21e9ce50546aa207a/api/apps/haxcms/lib/JOSHelpers.js#L26), and [api/apps/haxcms/convert/elmslnToSite.js](https://github.com/haxtheweb/open-apis/blob/ff694ce91442c39ae1a78dc21e9ce50546aa207a/api/apps/haxcms/convert/elmslnToSite.js#L37) use similar logic to check for hard-coded site names. However, the logic only looks for the substring to be included in the user-controlled string, allowing an attacker to craft an API call and extract the credentials intended for the hard-coded domains. ### PoC Making API calls to an affected endpoint will result in credential theft. The attacker-controlled domains in these proofs of concept are `cloudflared` tunnels, protecting the production credentials from unencrypted exposure. cacheAddress.js: <img width="3404" height="1656" alt="ssrf_cred_theft" src="https://github.com/user-attachments/assets/0a87cef5-3c4d-450a-8bb7-35123d5f621b" /> elmslnToSite.js: <img width="3409" height="1641" alt="theft2" src="https://github.com/user-attachments/assets/bede82cc-a613-4fc7-bbf6-76166af784f5" /> JOSHelpers.js: <img width="3407" height="1597" alt="theft3" src="https://github.com/user-attachments/assets/4f3f8bee-443e-4b22-9d41-eb9726619d36" /> ### Impact This vulnerability allows internal data, including secrets, to be exfiltrated to an attacker-controlled domain. Credentials were confirmed with the maintainer to grant access to unreleased LMS content on subsequent systems; out of scope for PoC.

Advisory Timeline

  • First published May 19, 2026 (146 days ago).
  • Last revised September 10, 2026 — 114 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @haxtheweb/open-apis to 26.0.0 or later
npm install @haxtheweb/open-apis@26.0.0

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
@haxtheweb/open-apis
npm
All versions26.0.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.6 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:L/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-46391?
HAX open-apis: Credential Theft via Server-Side Request Forgery (SSRF) in open-apis This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.6/10).
How do I check if my project is affected by CVE-2026-46391?
CVE-2026-46391 affects @haxtheweb/open-apis. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-46391 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.6

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-4fg7-f244-3j49

Related CVEs

  • CVE-2026-46395
    CRITICAL

    HAXcms: Private Key Disclosure via Broken HMAC Implementation

  • CVE-2025-54127
    CRITICAL

    NodeJS version of HAX CMS Has Insecure Default Configuration That Leads to Unauthenticated Access

  • CVE-2026-48527
    HIGH

    HaxCMS has a stored Cross-Site Scripting (XSS) bypass in its saveNode endpoint

  • CVE-2026-107375
    HIGH

    JHipster: SQL Injection in the Parameter of JHipster-Generated Reactive (WebFlux + R2DBC) Applicationssort

  • CVE-2026-107384
    HIGH

    MariaDB Connector/Node.js: SQL injection through object keys in SET expansion (permitSetMultiParamEntries)

  • CVE-2026-46511
    HIGH

    HAXcms: Mass Token Exfiltration and Cross-Tenant Hijack

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies