Cyber Resilience

CVE-2026-31017

SSRF in Frappe Erpnext 16.0.1

Published
08 April 2026
Modified
25 July 2026
CVSS Score v3.1 9.1
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS Score 0.0024 15th percentile
Risk Priority 65 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-2026-31017 is a critical-severity SSRF (CWE-918) vulnerability in Frappe Erpnext. Its CVSS base score is 9.1 (Critical).

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

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.

A Server-Side Request Forgery (SSRF) vulnerability, identified as CVE-2026-31017 and associated with CWE-918, affects the Print Format functionality in ERPNext version 16.0.1 and Frappe Framework version 16.1.1. The issue arises because user-supplied HTML is insufficiently sanitized before being rendered into PDF. This allows the inclusion of HTML elements, such as <iframe>, that reference external resources. The PDF rendering engine then automatically fetches these resources on the server side, enabling SSRF. The vulnerability has a CVSS v3.1 base score of 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N).

Any unauthenticated remote attacker can exploit this vulnerability by supplying malicious HTML content for PDF generation. By embedding references to arbitrary internal services—such as cloud metadata endpoints—the attacker forces the server to make unintended HTTP requests. This can result in the disclosure of sensitive information or further compromise of internal network resources, with high impact on confidentiality and integrity but no direct availability disruption.

Mitigation details and additional advisories are available in the referenced sources, including the Frappe website at http://frappe.com and a GitHub repository at https://github.com/PhDg1410/CVE/tree/main/CVE-2026-31017.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

A Server-Side Request Forgery (SSRF) vulnerability exists in the Print Format functionality of ERPNext v16.0.1 and Frappe Framework v16.1.1, where user-supplied HTML is insufficiently sanitized before being rendered into PDF. When generating PDFs from user-controlled HTML content, the application allows…

more

the inclusion of HTML elements such as <iframe> that reference external resources. The PDF rendering engine automatically fetches these resources on the server side. An attacker can abuse this behavior to force the server to make arbitrary HTTP requests to internal services, including cloud metadata endpoints, potentially leading to sensitive information disclosure.

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.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-44441Same product: Frappe Erpnext
CVE-2025-56380Same product: Frappe Erpnext
CVE-2026-31878Same product: Frappe Frappe
CVE-2025-56381Same product: Frappe Erpnext
CVE-2025-56379Same product: Frappe Erpnext
CVE-2025-65267Same product: Frappe Erpnext
CVE-2025-67289Same product: Frappe Erpnext
CVE-2025-52041Same product: Frappe Erpnext
CVE-2026-32954Same product: Frappe Erpnext
CVE-2024-24813Same product: Frappe Frappe

Affected Assets

frappe
erpnext
16.0.1
frappe
frappe
16.1.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.

DE.CM-09 partial match
prevents

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

ID.RA-01 partial match
prevents

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

PR.IR-01 partial match
prevents

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

PR.PS-06 partial match
prevents

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

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

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

prevents

Operational threat data describing SSRF campaigns can be used to tighten outbound-request allow-lists and detection rules before attackers exploit them.

References