CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-67427
6.50.05%

Unauthenticated Blind SSRF in Evershop Image Processing Middleware

Amit Schendel
Amit Schendel
Senior Security Researcher

Feb 27, 2026·5 min read·9 visits

PoC Available

Executive Summary (TL;DR)

CVE-2025-67427 is a medium-severity Blind SSRF in Evershop <= 2.1.0. An unauthenticated attacker can use the '/images' endpoint to proxy requests to internal services, potentially exposing cloud metadata or causing DoS.

A Blind Server-Side Request Forgery (SSRF) vulnerability exists in the Evershop e-commerce platform (versions 2.1.0 and prior) within the image processing middleware. The application fails to properly validate the 'src' query parameter on the '/images' endpoint, allowing unauthenticated remote attackers to induce the server to make arbitrary HTTP requests. This flaw enables internal network reconnaissance, potential access to cloud instance metadata, and Denial of Service (DoS) attacks by targeting internal infrastructure or exhausting server resources.

Vulnerability Overview

The vulnerability resides in the @evershop/evershop package, specifically within the route handling logic for image retrieval and processing. Modern e-commerce platforms frequently implement dynamic image resizing and optimization endpoints to serve assets appropriate for different device viewports. In Evershop, the GET /images endpoint serves this function, accepting a src query parameter intended to point to product images.

However, the application lacks sufficient validation on the input provided to the src parameter. It implicitly trusts user-supplied URLs, passing them to a server-side HTTP client to fetch the resource. This behavior creates a Server-Side Request Forgery (SSRF) condition. Because the application processes the request and typically returns the image data (or an error) rather than the raw HTTP response body of the target, this is classified as a Blind SSRF.

While the attacker cannot directly read the content of the internal response in many cases, they can infer the state of internal ports and services based on side channels. These side channels include response time (latency analysis), HTTP status codes (e.g., a 200 OK from the proxy vs a 500 Internal Error), and error messages generated by the application when the backend fetch fails.

Root Cause Analysis

The root cause of CVE-2025-67427 is Improper Input Validation (CWE-20) leading to SSRF (CWE-918). The vulnerable code path accepts the src parameter from the HTTP query string and uses it directly as the target for an outbound network request without ensuring the destination is an authorized resource.

In a secure implementation, an image proxy should strictly allowlist domains (e.g., only the store's own domain and trusted CDNs) or sanitize the input to ensure it represents a relative path on the local filesystem. Evershop's implementation permitted absolute URIs (starting with http:// or https://).

When the server receives a request like /images?src=http://127.0.0.1:22, the NodeJS backend attempts to establish a TCP connection to localhost on port 22. If the port is open, the connection succeeds (likely followed by a protocol mismatch error since SSH is not HTTP). If the port is closed, the connection is refused immediately. This discrepancy in connection handling leaks information about the internal network topology to the attacker.

Code Analysis

The vulnerability exists because the image middleware acts as an open proxy. Below is a conceptual representation of the vulnerable logic flow versus the remediation pattern.

Vulnerable Logic (Conceptual):

// Middleware handling /images
app.get('/images', async (req, res) => {
  const imageUrl = req.query.src;
  
  // VULNERABILITY: No validation of the protocol or hostname
  // The server blindly fetches whatever URL is provided
  try {
    const response = await fetch(imageUrl);
    const buffer = await response.buffer();
    res.set('Content-Type', response.headers.get('content-type'));
    res.send(buffer);
  } catch (error) {
    res.status(500).send('Error fetching image');
  }
});

Remediation Pattern:

The fix involves validating that the src is either a relative path or belongs to a strict allowlist of domains.

app.get('/images', async (req, res) => {
  const imageUrl = req.query.src;
 
  // FIX: Parse the URL and validate the hostname
  try {
    const parsedUrl = new URL(imageUrl, 'http://localhost'); // Handle relative paths
    
    const allowedDomains = ['evershop.io', 'cdn.trusted.com'];
    const isRelative = !imageUrl.startsWith('http');
    
    if (!isRelative && !allowedDomains.includes(parsedUrl.hostname)) {
      return res.status(403).send('Forbidden: External domain not allowed');
    }
 
    // Proceed with fetch only if validation passes
    // ...
  } catch (e) {
    return res.status(400).send('Invalid URL');
  }
});

The actual fix in Evershop likely enforces that the requested resource resides within the expected application storage directories or strictly limits the protocol and host to prevent arbitrary outbound connections.

Exploitation Scenarios

An attacker can exploit this vulnerability to perform internal reconnaissance or Denial of Service.

Scenario 1: Internal Port Scanning

The attacker iterates through common internal ports to map the infrastructure.

GET /images?src=http://127.0.0.1:6379 HTTP/1.1
Host: target-evershop.com

If the server responds quickly with a parsing error (e.g., "Image format not recognized"), it implies a connection was made (Port Open). If the request hangs until a timeout or returns a "Connection Refused" error, the port is likely closed. This allows mapping of Redis, SQL, or other internal services.

Scenario 2: Cloud Metadata Exfiltration

If the Evershop instance is hosted on AWS, GCP, or Azure, the attacker may target the link-local metadata address.

GET /images?src=http://169.254.169.254/latest/meta-data/iam/security-credentials/ HTTP/1.1
Host: target-evershop.com

While the attacker might not see the JSON response directly due to the blind nature (unless the application blindly echoes the text response assuming it's an image), this request can still trigger security alerts or, in poorly configured environments where the response is reflected in error logs or partially rendered, leak credentials.

Scenario 3: Denial of Service (DoS)

The attacker forces the server to download extremely large files or connect to a "tarpit" service that keeps the connection open indefinitely. This exhausts the Node.js event loop or available worker threads, rendering the e-commerce site unresponsive to legitimate customers.

Impact Assessment

The impact of CVE-2025-67427 is classified as Medium (CVSS 6.5) primarily due to its Blind nature, but the real-world risk depends heavily on the deployment environment.

Confidentiality: The primary risk is the exposure of internal network topology. If the application runs in a cloud environment (AWS, Azure, GCP) with an overly permissive Instance Metadata Service (IMDSv1), the vulnerability could escalate to full compromise by retrieving IAM credentials.

Integrity: Attackers can issue GET requests to internal APIs. If internal services (like Solr, Elasticsearch, or Redis) are configured without authentication on the localhost interface—a common practice—an attacker might be able to modify data or trigger administrative actions via URL parameters.

Availability: The vulnerability enables trivial Denial of Service attacks. By directing the server to fetch /dev/zero (if file protocols were supported) or large external files, attackers can saturate the server's bandwidth and memory.

Official Patches

EvershopOfficial GitHub Repository

Fix Analysis (1)

Technical Appendix

CVSS Score
6.5/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
EPSS Probability
0.05%
Top 84% most exploited

Affected Systems

Evershop E-commerce Platform

Affected Versions Detail

Product
Affected Versions
Fixed Version
@evershop/evershop
Evershop
<= 2.1.02.1.1
AttributeDetail
CWE IDCWE-918 (Server-Side Request Forgery)
CVSS v3.16.5 (Medium)
Attack VectorNetwork (Remote)
Privileges RequiredNone
EPSS Score0.05%
Exploit StatusPoC Available

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1134Server Side Request Forgery
Discovery
T1046Network Service Scanning
Discovery
CWE-918
Server-Side Request Forgery (SSRF)

Known Exploits & Detection

GitHubProof of Concept for Unauthenticated Blind SSRF in Evershop
NucleiDetection Template Available

Vulnerability Timeline

Vulnerability Discovered
2025-12-30
CVE Published and Patch Released
2026-01-05
NVD Last Modified
2026-01-14

References & Sources

  • [1]NVD - CVE-2025-67427
  • [2]GHSA-vp8w-wj4m-3r7j Advisory
  • [3]Researcher Blog Post

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.