Skip to main content

Mercator CVE-2026-49345

| EUVDEUVD-2026-38072 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-06-19 GitHub_M
5.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Authenticate with configure permission
  2. Delivery
    Submit crafted gopher:// URL with # fragment to /admin/config/parameters
  3. Exploit
    Server passes URL to curl_init() without validation
  4. Install
    curl connects to internal Redis on port 6379
  5. C2
    Inject raw Redis commands via gopher payload
  6. Execute
    Write cron job to Redis host filesystem
  7. Impact
    Achieve RCE on internal service

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

Exploitation requires an authenticated Mercator session where the user account holds the explicitly granted 'configure' permission - this is a non-default, operator-assigned privilege, not a permission held by all authenticated users. The attacker must have network access to the /admin/config/parameters endpoint, which is an admin panel and may be restricted by network segmentation in hardened deployments. The

fragment character injection is required to neutralize the /api/dbInfo suffix and achieve full URL control over the curl request. Escalation from SSRF to Remote Code Execution is conditional on the existence of an unauthenticated Redis or Memcached instance reachable from the Mercator server's network interface - without such a service, impact is limited to internal HTTP/TCP reconnaissance and potential access to other internal web APIs. The CVSS PR:L metric confirms that unauthenticated exploitation is not possible; an active session with the configure permission is a hard prerequisite.

Impact

The provided CVSS 4.0 score of 5.3 with SC:L/SI:N/SA:N materially understates real-world risk: the CVE description and tags ('RCE', 'Redis') explicitly confirm that subsequent-system RCE is achievable, not merely theoretical - SC:L and SI:N do not reflect the gopher-to-Redis code execution path. Independent assessment places subsequent-system confidentiality and integrity impact significantly higher. The authentication barrier is PR:L (a 'configure' permission that is explicitly granted but is not the administrator role), which lowers the effective attacker pool but does not eliminate risk in organizations with many Mercator users. The

fragment bypass is simple and requires no specialized tooling. No EPSS score was supplied in the input, so probabilistic exploitation likelihood cannot be quantified. The absence of a CISA KEV listing and no confirmed public proof-of-concept suggests this is not currently under mass exploitation, but the gopher-to-Redis RCE technique is extensively documented in SSRF research and can be reproduced by any skilled attacker from public knowledge. The primary risk vector is insider or low-privilege attacker performing internal network reconnaissance and lateral movement to unauthenticated internal services - a high-value path in environments where Redis or Memcached run without authentication, which is a widespread default configuration.

Exploit ScenarioDerived

An attacker holding a Mercator account with the 'configure' permission navigates to /admin/config/parameters and submits a crafted URL such as gopher://192.168.1.50:6379/_%0D%0ASET%20... followed by a

fragment, bypassing the /api/dbInfo suffix enforcement. The Mercator server's curl client sends the gopher payload directly to the internal Redis instance, which - running without authentication - interprets the embedded commands and writes an attacker-controlled cron job to the filesystem, resulting in remote code execution on the internal Redis host. No confirmed public proof-of-concept exists at time of analysis, but the gopher-to-Redis SSRF escalation technique is thoroughly documented in public security research.

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

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

Alert me

AnalysisAIv1 – Jun 19, 2026

Server-Side Request Forgery in Mercator's CVE configuration panel allows authenticated users holding the low-privilege 'configure' permission to coerce the application server into issuing arbitrary outbound network requests to any internal or external host. Affected versions prior to 2025.05.19 pass user-supplied URLs directly to curl_init() in ConfigurationController::testProvider() with no scheme, hostname, or private-IP validation; the intended /api/dbInfo suffix restriction is trivially defeated by appending a

fragment character, granting full URL control. Support for the telnet:// scheme enables internal TCP port scanning, while gopher:// permits raw protocol-level interaction with unauthenticated internal services such as Redis and Memcached, creating a realistic path to Remote Code Execution on those systems under common deployment conditions. No public exploit code or CISA KEV listing has been identified at time of analysis.

RemediationAI

Vendor-released patch: Mercator version 2025.05.19, which addresses the SSRF by adding validation inside ConfigurationController::testProvider(). Administrators should upgrade to 2025.05.19 or later immediately; the advisory is at https://github.com/sourcentis/mercator/security/advisories/GHSA-6q97-4q5r-96j6. If immediate patching is blocked, apply the following compensating controls in order of priority: first, restrict network-level access to /admin/config/parameters to administrator-only roles at the reverse proxy or WAF layer, reducing the exploitable population to highest-trust users; second, configure egress filtering on the Mercator host to block outbound connections to RFC 1918 address ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and the loopback interface, which mitigates internal pivoting but may affect legitimate provider connectivity; third, require authentication on all internal Redis and Memcached instances (Redis requirepass directive; Memcached -l localhost binding), which eliminates the RCE escalation path even if SSRF occurs. Note that blocking RFC 1918 egress may break Mercator functionality if it legitimately communicates with on-premises CVE data providers.

Affected VersionsENISA

mercator < 2025.05.19

Affected Packages

euvd mercator fix: 2025.05.19

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

Mercator (CPE: cpe:2.3:a:sourcentis:mercator:*:*:*:*:*:*:*:*) is a PHP-based open source web application for information system mapping maintained by sourcentis. The vulnerability is rooted in CWE-918 (Server-Side Request Forgery): the server's HTTP client - PHP's libcurl - is weaponized to act as a network proxy on behalf of an attacker-controlled URL. ConfigurationController::testProvider() constructs a URL by concatenating user input with /api/dbInfo and passing the result to curl_init() without any allow-list validation. A URL fragment character (#) exploits the semantic gap between PHP string concatenation and curl's URL parsing: curl treats everything after

as a fragment and ignores it, neutralizing the forced suffix. Because curl supports multiple URL schemes beyond HTTP and HTTPS, the attacker can leverage telnet:// for blind TCP banner-grabbing against internal hosts, and gopher:// - a legacy protocol fully supported by curl - to inject raw byte payloads directly into unauthenticated Redis (port 6379) or Memcached (port 11211) instances. When Redis is reachable without authentication, gopher:// payloads can write arbitrary data to disk (e.g., a cron job or authorized_keys file), escalating SSRF to full Remote Code Execution on the internal Redis host.

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

Network-accessible SSRF requiring low-privilege configure permission (PR:L) enables full internal network reconnaissance (C:H, S:C) and conditional integrity impact on internal services via gopher payloads (I:L).

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:N/VA:N/SC:H/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Jun 19, 2026 - 21:02 EUVD

DescriptionCVE.org

Mercator is an open source web application that enables mapping of the information system. Prior to version 2025.05.19, a Server-Side Request Forgery (SSRF) vulnerability exists in Mercator's CVE configuration panel (/admin/config/parameters). The testProvider() method in ConfigurationController passes user-supplied input directly to curl_init() without validating the scheme, hostname, or destination IP address. An authenticated user with the configure permission can force the Mercator server to issue arbitrary outbound network requests. The suffix /api/dbInfo appended to the URL can be bypassed by injecting a # fragment character (e.g. http://TARGET/PATH#), allowing full control over the target URL. No scheme whitelist, host whitelist, or private/loopback IP block is applied. The telnet:// scheme can be used for internal port scanning; the gopher:// scheme enables interaction with unauthenticated internal services (Redis, Memcached), potentially leading to Remote Code Execution under specific deployment conditions. Version 2025.05.19 patches the issue.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.5%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: +1
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.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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