Security Resilience

CVE-2025-31117

SSRF in Open-Emr Openemr ≤ 7.0.3.1

Public PoCSSRF
Published
31 March 2025
Modified
30 April 2025
Patch / advisory
CVSS Score v4 6.9
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0047 40th percentile
Risk Priority 45 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2025-31117 is a medium-severity SSRF (CWE-918) vulnerability in Open-Emr Openemr. Its CVSS base score is 6.9 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 40th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

OpenEMR, a free and open source electronic health records and medical practice management application, is affected by an out-of-band server-side request forgery vulnerability tracked as CVE-2025-31117. The flaw, classified under CWE-918, allows an attacker to force the server to issue unauthorized requests to external or internal resources; unlike classic SSRF, it does not return a direct response but can still be leveraged through DNS or HTTP callbacks.

An unauthenticated remote attacker can exploit the issue over the network to exfiltrate sensitive information by inducing the server to interact with attacker-controlled infrastructure, achieving limited confidentiality impact without requiring user interaction or elevated privileges.

The vulnerability is fixed in OpenEMR version 7.0.3.1, according to the project’s GitHub security advisory and the associated commit that resolves the flaw. The EPSS score remains low, with a current value of 0.0115 and a peak of 0.0185.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

OpenEMR is a free and open source electronic health records and medical practice management application. An Out-of-Band Server-Side Request Forgery (OOB SSRF) vulnerability was identified in OpenEMR, allowing an attacker to force the server to make unauthorized requests to external…

more

or internal resources. this attack does not return a direct response but can be exploited through DNS or HTTP interactions to exfiltrate sensitive information. This vulnerability is fixed in 7.0.3.1.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1584 Compromise Infrastructure Resource Development
Adversaries may compromise third-party infrastructure that can be used during targeting.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-33321Same product: Open-Emr Openemr
CVE-2024-26476Same product: Open-Emr Openemr
CVE-2025-29789Same product: Open-Emr Openemr
CVE-2026-25476Same product: Open-Emr Openemr
CVE-2025-30161Same product: Open-Emr Openemr
CVE-2019-14530Same product: Open-Emr Openemr
CVE-2026-25928Same product: Open-Emr Openemr
CVE-2026-24848Same product: Open-Emr Openemr
CVE-2026-24849Same product: Open-Emr Openemr
CVE-2023-22973Same product: Open-Emr Openemr

Affected Assets

open-emr
openemr
≤ 7.0.3.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V1.3.6
  • V1.5.3
  • V5.3.2
  • V10.4.7

Mitigating Controls (NIST 800-53 r5) AI

Information flow enforcement can restrict which destinations the server is allowed to contact on behalf of users.

Input validation directly stops untrusted URLs from being accepted and fetched without destination checks.

Boundary protection limits the network reach of server-initiated requests even if SSRF occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
blocks

Secure development practices directly include input validation and destination allow-listing that prevent SSRF.

DE.CM-09 partial match
blocks

Runtime monitoring of web applications and services can detect anomalous outbound requests indicative of SSRF.

ID.RA-01 partial match
blocks

Vulnerability identification processes can discover and record SSRF flaws in web applications.

PR.IR-01 partial match
blocks

Network segmentation and egress controls can limit the damage from successful SSRF requests.

References