{"id":"CVE-2026-59238","state":"PUBLISHED","title":"Stored XSS in Pentestify via unsanitized finding images and report client logo","description":"Stored Cross-site Scripting (CWE-79) in the client-side report rendering functions (renderPreview, renderEditor, renderAuditData in js/app.js) in maalfer Pentestify before 1.1.0 allows a remote, authenticated attacker to execute arbitrary JavaScript in the browser of any user who views an affected report via a payload stored in a finding's images array or a report's client_logo array, which is interpolated into an <img> src attribute without escaping.","publishedAt":"2026-07-20T13:58:01.643Z","updatedAt":"2026-07-20T15:06:54.041Z","severity":{"score":6.9,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N","source":"Secur0"},"assigner":"Secur0","products":["maalfer Pentestify"],"affected":[{"vendor":"maalfer","product":"Pentestify","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.1.0","versionType":"semver"}],"repo":"https://github.com/maalfer/pentestify","modules":["Client-side report rendering"],"programFiles":["js/app.js"]}],"references":["https://github.com/maalfer/pentestify/commit/a058a22b42c6311895622645265df79a60265b1d","https://secur0.com/en/cna/cve-list/cve-2026-59238-stored-xss-in-pentestify-via-unsanitized-finding-images-and-report-client-logo"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/59xxx/CVE-2026-59238.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-59238","state":"PUBLISHED","datePublished":"2026-07-20T13:58:01.643Z","dateUpdated":"2026-07-20T15:06:54.041Z","assignerShortName":"Secur0","assignerOrgId":"4daa8cea-433a-44bd-9456-53b127fc289a","dateReserved":"2026-07-03T11:24:39.242Z"},"containers":{"cna":{"title":"Stored XSS in Pentestify via unsanitized finding images and report client logo","descriptions":[{"lang":"en","value":"Stored Cross-site Scripting (CWE-79) in the client-side report rendering functions (renderPreview, renderEditor, renderAuditData in js/app.js) in maalfer Pentestify before 1.1.0 allows a remote, authenticated attacker to execute arbitrary JavaScript in the browser of any user who views an affected report via a payload stored in a finding's images array or a report's client_logo array, which is interpolated into an <img> src attribute without escaping."}],"affected":[{"vendor":"maalfer","product":"Pentestify","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"1.1.0","versionType":"semver"}],"repo":"https://github.com/maalfer/pentestify","modules":["Client-side report rendering"],"programFiles":["js/app.js"]}],"references":[{"url":"https://github.com/maalfer/pentestify/commit/a058a22b42c6311895622645265df79a60265b1d","tags":["patch"]},{"url":"https://secur0.com/en/cna/cve-list/cve-2026-59238-stored-xss-in-pentestify-via-unsanitized-finding-images-and-report-client-logo","tags":["technical-description"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","subIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"MEDIUM","baseScore":6.9,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79 Improper neutralization of input during web page generation ('cross-site scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"Secur0","orgId":"4daa8cea-433a-44bd-9456-53b127fc289a","dateUpdated":"2026-07-20T13:58:01.643Z"},"impacts":[{"capecId":"CAPEC-592","descriptions":[{"lang":"en","value":"CAPEC-592 Stored XSS"}]}],"cpeApplicability":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:maalfer:pentestify:*:*:*:*:*:*:*:*","versionStartIncluding":"0","versionEndExcluding":"1.1.0"}]}]}],"tags":["x_open-source"],"solutions":[{"lang":"en","value":"Upgrade to version 1.1.0 or higher.","supportingMedia":[{"type":"text/html","base64":false,"value":"Upgrade to version 1.1.0 or higher."}]}],"credits":[{"lang":"en","value":"Marcos García (s3ntinl)","type":"finder"},{"lang":"en","value":"Mario Álvarez Fernández","type":"remediation developer"},{"lang":"en","value":"Xoán M. Otero Jorge","type":"analyst"},{"lang":"en","value":"Secur0 CNA","type":"coordinator"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.4"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-20T15:06:48.206391Z","id":"CVE-2026-59238","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-20T15:06:54.041Z"}}]}}}