{"api_version":"1","generated_at":"2026-07-11T21:18:37+00:00","cve":"CVE-2026-10095","urls":{"html":"https://cve.report/CVE-2026-10095","api":"https://cve.report/api/cve/CVE-2026-10095.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-10095","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-10095"},"summary":{"title":"WP Photo Album Plus <= 9.1.13.005 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'subtext' Shortcode Attribute","description":"The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'subtext' parameter in all versions up to, and including, 9.1.13.005 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. A contributor-level attacker can embed the malicious [photo] shortcode in a post submitted for review, causing the stored payload to execute when an administrator or any other user views the post.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-07-01 11:16:21","updated_at":"2026-07-01 13:56:17"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Secondary","score":"6.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","baseScore":6.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"6.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","data":{"baseScore":6.4,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-functions.php#L4291","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-functions.php#L4291","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset/3557877/wp-photo-album-plus/trunk/wppa-filter.php","name":"https://plugins.trac.wordpress.org/changeset/3557877/wp-photo-album-plus/trunk/wppa-filter.php","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1151","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1151","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1151","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1151","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-functions.php#L4291","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-functions.php#L4291","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1301","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1301","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1320","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1320","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset?old_path=%2Fwp-photo-album-plus/tags/9.1.13.005&new_path=%2Fwp-photo-album-plus/tags/9.2.01.001","name":"https://plugins.trac.wordpress.org/changeset?old_path=%2Fwp-photo-album-plus/tags/9.1.13.005&new_path=%2Fwp-photo-album-plus/tags/9.2.01.001","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1320","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1320","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/59f914e2-a671-46cc-a2b8-664816639f3e?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/59f914e2-a671-46cc-a2b8-664816639f3e?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1301","name":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1301","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-10095","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-10095","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"opajaap","product":"WP Photo Album Plus","version":"affected 9.1.13.005 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-05-29T14:13:21.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-06-30T21:28:39.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Muhammad Yudha - DJ","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"10095","cve":"CVE-2026-10095","epss":"0.002410000","percentile":"0.151400000","score_date":"2026-07-04","updated_at":"2026-07-05 00:02:27"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-10095","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-07-01T12:21:45.274061Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-07-01T12:22:01.471Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"WP Photo Album Plus","vendor":"opajaap","versions":[{"lessThanOrEqual":"9.1.13.005","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Muhammad Yudha - DJ"}],"descriptions":[{"lang":"en","value":"The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'subtext' parameter in all versions up to, and including, 9.1.13.005 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. A contributor-level attacker can embed the malicious [photo] shortcode in a post submitted for review, causing the stored payload to execute when an administrator or any other user views the post."}],"metrics":[{"cvssV3_1":{"baseScore":6.4,"baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-07-01T09:32:27.594Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/59f914e2-a671-46cc-a2b8-664816639f3e?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-functions.php#L4291"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1320"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1301"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.13.005/wppa-filter.php#L1151"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-functions.php#L4291"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1320"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1301"},{"url":"https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.1.09.005/wppa-filter.php#L1151"},{"url":"https://plugins.trac.wordpress.org/changeset/3557877/wp-photo-album-plus/trunk/wppa-filter.php"},{"url":"https://plugins.trac.wordpress.org/changeset?old_path=%2Fwp-photo-album-plus/tags/9.1.13.005&new_path=%2Fwp-photo-album-plus/tags/9.2.01.001"}],"timeline":[{"lang":"en","time":"2026-05-29T14:13:21.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-06-30T21:28:39.000Z","value":"Disclosed"}],"title":"WP Photo Album Plus <= 9.1.13.005 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'subtext' Shortcode Attribute"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-10095","datePublished":"2026-07-01T09:32:27.594Z","dateReserved":"2026-05-29T13:57:08.455Z","dateUpdated":"2026-07-01T12:22:01.471Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-01 11:16:21","lastModifiedDate":"2026-07-01 13:56:17","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","baseScore":6.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":3.1,"impactScore":2.7}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-01T12:21:45.274061Z","id":"CVE-2026-10095","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"10095","Ordinal":"1","Title":"WP Photo Album Plus <= 9.1.13.005 - Authenticated (Contributor+)","CVE":"CVE-2026-10095","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"10095","Ordinal":"1","NoteData":"The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'subtext' parameter in all versions up to, and including, 9.1.13.005 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. A contributor-level attacker can embed the malicious [photo] shortcode in a post submitted for review, causing the stored payload to execute when an administrator or any other user views the post.","Type":"Description","Title":"WP Photo Album Plus <= 9.1.13.005 - Authenticated (Contributor+)"}]}}}