CVE-2026-59231: maalfer Pentestify SSRF in PDF export component

CVE-2026-59231 · Severity: info · CVSS 5.3 · Published 2026-07-31

Pentestify, a penetration testing reporting tool, contains a vulnerability in its PDF export feature. An authenticated user can provide a malicious web link in the 'finding images' or 'client logo' fields, which causes the server to automatically visit that link when generating a report. This could allow an attacker to probe internal network services or cloud metadata that are not normally accessible from the outside.

Quick answers

Is CVE-2026-59231 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-59231 being exploited in the wild.
How severe is CVE-2026-59231?
Informational severity, with a CVSS score of 5.3, published 31 July 2026.
Which products and versions are affected?
maalfer Pentestify before 1.1.0.
Is there a fix for CVE-2026-59231?
A patch was published on 2026-06-23: Fix committed in version 1.1.0 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-59231 attacked?
It is attacked over the network, in a network appliance.
Am I affected by CVE-2026-59231?
Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A Server-Side Request Forgery (SSRF) vulnerability exists in Pentestify's PDF generation logic (backend/main.py). The application uses a headless Chromium browser (Playwright) to render reports into PDFs. Because the 'finding images' and 'report client_logo' fields in the input schemas (backend/schemas.py) lack URL validation, an authenticated attacker can inject arbitrary URLs. When the server-side browser renders the report, it fetches these URLs to satisfy <img> tags, allowing the attacker to trigger GET requests to internal loopback addresses, cloud metadata services, or external hosts. The issue was addressed in version 1.1.0 by restricting these fields to data URLs and sanitizing inputs.

Affected products

  • maalfer Pentestify before 1.1.0

Timeline

  • 2026-06-23: patched: Fix committed in version 1.1.0
  • 2026-07-31: disclosed: CVE published by Secur0 CNA

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.