{"api_version":"1","generated_at":"2026-11-07T15:53:45+00:00","cve":"CVE-2026-122059","urls":{"html":"https://cve.report/CVE-2026-122059","api":"https://cve.report/api/cve/CVE-2026-122059.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-122059","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-122059"},"summary":{"title":"WP ImageViewer <= 3.0.2 - Authenticated (Subscriber+) Stored DOM-Based Cross-Site Scripting via Image 'alt' Attribute","description":"The WP ImageViewer plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'img.alt' parameter in all versions up to, and including, 3.0.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires a front-end content plugin such as bbPress to be active, as it grants Subscriber-level users the bbp_participant capability needed to publish image-bearing content containing the encoded payload. Exploitation by attackers with contributor-level access and above requires that the site allows Contributors (or higher) to submit image HTML in post content — the WordPress default. On a default installation, where that is not configured, the vulnerability requires attackers with custom-level access and above.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-11-07 12:17:45","updated_at":"2026-11-07 12:17:45"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Primary","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-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L224","name":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L224","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L139","name":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L139","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L132","name":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L132","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://codeberg.org/cyclotouriste/wp-imageviewer/commit/44601a13af7f7874c62c98956c6747322a6ab3c0","name":"https://codeberg.org/cyclotouriste/wp-imageviewer/commit/44601a13af7f7874c62c98956c6747322a6ab3c0","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.3/wp-imageviewer-init.js","name":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.3/wp-imageviewer-init.js","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/2d3f78b4-04c7-4978-919f-997b39307c5b?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/2d3f78b4-04c7-4978-919f-997b39307c5b?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-122059","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-122059","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"mpol","product":"WP ImageViewer","version":"affected 3.0.2 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-11-04T21:08:37.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-11-06T21:45:04.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Adrien Brunner","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"WP ImageViewer","vendor":"mpol","versions":[{"lessThanOrEqual":"3.0.2","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Adrien Brunner"}],"descriptions":[{"lang":"en","value":"The WP ImageViewer plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'img.alt' parameter in all versions up to, and including, 3.0.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires a front-end content plugin such as bbPress to be active, as it grants Subscriber-level users the bbp_participant capability needed to publish image-bearing content containing the encoded payload. Exploitation by attackers with contributor-level access and above requires that the site allows Contributors (or higher) to submit image HTML in post content — the WordPress default. On a default installation, where that is not configured, the vulnerability requires attackers with custom-level access and above."}],"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","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-07T11:26:26.557Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/2d3f78b4-04c7-4978-919f-997b39307c5b?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L224"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L132"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.2/wp-imageviewer-init.js#L139"},{"url":"https://codeberg.org/cyclotouriste/wp-imageviewer/commit/44601a13af7f7874c62c98956c6747322a6ab3c0"},{"url":"https://plugins.trac.wordpress.org/browser/wp-imageviewer/tags/3.0.3/wp-imageviewer-init.js"}],"timeline":[{"lang":"en","time":"2026-11-04T21:08:37.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-11-06T21:45:04.000Z","value":"Disclosed"}],"title":"WP ImageViewer <= 3.0.2 - Authenticated (Subscriber+) Stored DOM-Based Cross-Site Scripting via Image 'alt' Attribute"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-122059","datePublished":"2026-11-07T11:26:26.557Z","dateReserved":"2026-11-04T16:39:48.805Z","dateUpdated":"2026-11-07T11:26:26.557Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-07 12:17:45","lastModifiedDate":"2026-11-07 12:17:45","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Primary","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}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"122059","Ordinal":"1","Title":"WP ImageViewer <= 3.0.2 - Authenticated (Subscriber+) Stored DOM","CVE":"CVE-2026-122059","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"122059","Ordinal":"1","NoteData":"The WP ImageViewer plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via the 'img.alt' parameter in all versions up to, and including, 3.0.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires a front-end content plugin such as bbPress to be active, as it grants Subscriber-level users the bbp_participant capability needed to publish image-bearing content containing the encoded payload. Exploitation by attackers with contributor-level access and above requires that the site allows Contributors (or higher) to submit image HTML in post content — the WordPress default. On a default installation, where that is not configured, the vulnerability requires attackers with custom-level access and above.","Type":"Description","Title":"WP ImageViewer <= 3.0.2 - Authenticated (Subscriber+) Stored DOM"}]}}}