Skip to main content

PipesHub EUVDEUVD-2026-114117

| CVE-2026-119712 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-30 VulnCheck GHSA-5r5q-7f5q-f5h2
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Submit document via upload, email, or crawl
  2. Delivery
    Embed internal image URL in body
  3. Exploit
    Indexer fetches URL bypassing SSRF guard
  4. Execution
    Reach loopback or cloud-metadata endpoint
  5. Impact
    Response embedded into indexed content

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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

Exploitation Conditions

The attacker must get a document containing an attacker-chosen HTTP(S) image URL into the indexing pipeline; the URL only needs to be a well-formed http/https link ending in a valid image extension, because ImageParser._is_valid_image_url checks scheme and extension only, never the host, and _fetch_single_url then calls session.get(allow_redirects=True) without the blocked-host policy. Three entry paths exist: an authenticated member uploading a Markdown/HTML file (requires a PipesHub account, hence PR:L), or - requiring NO account - an email to a connector-synced mailbox or a page crawled by the web/RSS connector. The flaw is present in default configurations of PipesHub before 0.10.0. Limiting factors: full read-back of the fetched response into persisted indexed content depends on the indexing stage completing (the PoC host could not persist content because no model provider was configured), and cloud-metadata credential theft only applies on cloud-hosted deployments where 169.254.169.254 is reachable; the blind outbound request itself, however, requires none of these.

Impact

This is a genuine but mid-tier priority, not a drop-everything emergency, and the signals are largely consistent. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L) scores 5.3 (Medium) and reflects network reach, low complexity, and some privilege. The vuln.today decision label is 'this_month' - meaningful urgency but below act_now/emergency. There is no CISA KEV listing and no EPSS value in the provided data, so there is no evidence of active or widespread exploitation; this reads as a credible, reported weakness rather than a mass-exploited one. The VulnCheck/GHSA advisory includes an executed proof-of-concept that demonstrably caused the server to fetch a loopback URL, which raises practical risk above a purely theoretical SSRF. The key tension is impact magnitude: the input 4.0 vector rates confidentiality Low (VC:L/SC:L), but the advisory argues the fetched response is base64-embedded into indexed content - a read primitive reaching internal microservices and cloud instance-metadata (169.254.169.254) credentials, which would justify a materially higher confidentiality impact. The advisory itself flags that response read-back was code-inferred, not demonstrated on the test host (indexing halted at extraction because no model provider was configured). So treat the high-confidentiality metadata-theft outcome as plausible and architecturally supported but not proven. Net: a real SSRF worth patching within the vendor's and vuln.today's stated window, with upside risk on cloud-hosted deployments.

Exploit ScenarioDerived

An attacker places an image reference pointing at an internal address (e.g. <img src="http://169.254.169.254/latest/meta-data/..."> or http://127.0.0.1:9411/x.png) inside a document that PipesHub will index - an authenticated upload, an email to a synced mailbox, or a page crawled by the web/RSS connector. When the indexing service parses the document it fetches the URL via its own aiohttp client without consulting the blocked-host policy, reaching loopback, private-network, or cloud-metadata endpoints. A working PoC in the vendor advisory already demonstrated the server fetching an attacker-chosen loopback URL; given AV:N/AC:L the request is reliable, though full response exfiltration via indexed content is inferred rather than demonstrated.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 30, 2026

Server-side request forgery in PipesHub's document indexing pipeline lets anyone who can place content in front of the indexer make the server issue HTTP GETs to addresses of their choosing. Image URLs embedded in the body of an uploaded Markdown or HTML file, an email delivered to a connector-synced mailbox, or a page pulled in by the web/RSS connector are checked only for scheme and image file extension before ImageParser._fetch_single_url calls aiohttp with allow_redirects=True, so loopback, private-network and cloud instance-metadata targets are reachable despite the blocked-host policy the same codebase applies to other user-supplied fetches. The documented proof-of-concept in the public advisory confirms the service's own aiohttp client fetching a loopback URL that existed only inside an uploaded file; reading the response back into persisted indexed content was inferred from code rather than demonstrated, because the test host had no model provider configured. Exploitation status is not confirmed actively exploited (no CISA KEV listing) and no independently verified exploit tooling has been published, though the advisory's executed walkthrough gives attackers a clear template; the vendor fix is PipesHub 0.10.0, and priority is a this-month remediation cadence rather than a drop-everything emergency.

RemediationAI

Vendor-released patch: upgrade to PipesHub 0.10.0 or later (https://github.com/pipeshub-ai/pipeshub-ai/releases/tag/v0.10.0); the fix commit is 16b05ed7c4c492330046fa10753389a5a5886613, which routes _fetch_single_url through PublicUrlFetcher with _IMAGE_FETCH_LIMITS (20 MB, 10 s) so image URLs from document bodies are resolved and checked against the blocked-host policy before any request, with per-hop redirect re-validation and proxy-variable clearing handled by that shared fetcher. Verification after upgrading: confirm the deployed image tag is 0.10.0 or newer and that image_parser.py imports PublicUrlFetcher from app.utils.public_http rather than calling session.get directly. The vendor advisory states explicitly that there are no workarounds and that upgrading to the patched release is the only complete fix, because the guard must be applied at this call site itself - the policy already protects image_utils, the skills importer and the fetch_url tool, so isolating those paths does not close this one. Remediate on a this-month cadence consistent with the vuln.today priority label; deployments that cannot move immediately should treat the parser container's network reachability (loopback services, internal microservices and 169.254.169.254) as the exposure to be reduced while the upgrade is scheduled.

Affected VersionsENISA

pipeshub-ai 0 <0.10.0

Affected Packages

euvd pipeshub_ai fix: 0.10.0

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

CWE-918 (server-side request forgery) in the Python backend of PipesHub (CPE cpe:2.3:a:pipeshub-ai:pipeshub-ai), a document-indexing and knowledge-base platform. Commit 23f85354d introduced a single blocked-host policy for user-supplied URLs - resolve_public_http_target in app/utils/url_fetcher.py, exposed through PublicUrlFetcher in app/utils/public_http.py and already wired into the skills importer, the fetch_url tool and image_utils (which passes block_private_hosts=True at line 309) - but the image-parser path used during indexing never consults it. In image_parser.py, _is_valid_image_url (lines 75-93) validates only that the URL starts with http:// or https:// and that the path carries a valid image extension, and _fetch_single_url (lines 141-145) then calls session.get(url, allow_redirects=True) directly; http://127.0.0.1:9411/x.png satisfies every condition. The URL list originates from document bodies: processor.py (lines 842-849 for Markdown, 930-945 for HTML) extracts every <img> URL and hands it to the parser with no provenance or allow-list check. Fetched bytes are base64-encoded into a data URI that becomes indexed block content, which is why the code path is a potential read primitive and not merely a blind request; the documented PoC proved the outbound fetch but could not persist content because indexing halted with no model provider configured, so exfiltration is code-inferred. allow_redirects=True also means even a host that passed a guard could be followed through a 3xx to an internal address, which is why redirect re-validation is part of the same fix. Internal targets include the product's own unauthenticated parsing, extraction, docling and embedding microservices reachable from the container that holds connector credentials, storage configuration and database credentials. The independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N = 8.5, higher than the CVSS 4.0 score of 5.3 carried with the CVE, because the pivot escapes the application into the hosting network and confidentiality is the dominant impact; for the mail- and crawl-based entry paths, where no PipesHub account is needed, PR:N applies and the effective risk is higher.

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

Network, low-complexity SSRF; PR:L for the authenticated-upload path (mail/crawl paths would be PR:N); scope changes as the fetch pivots into the hosting network and cloud metadata, where credential exposure drives C:H.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

PipesHub before 0.10.0 contains a server-side request forgery vulnerability in ImageParser._fetch_single_url that allows attackers to make the indexing service fetch internal addresses by embedding image URLs in documents. Attackers can supply Markdown or HTML via uploads, synced mailboxes, or web connectors to reach loopback, private-network, or cloud metadata endpoints, with image responses embedded into indexed content.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Low
niche open-source AI workplace-search platform, limited production footprint
Data Quality
4 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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