{"id":"CVE-2026-12954","state":"PUBLISHED","title":"Mapster WP Maps <= 1.23.0 - Authenticated (Subscriber+) Arbitrary User Meta Write via 'acf-photo-gallery-groups' Parameter","description":"The Mapster WP Maps plugin for WordPress is vulnerable to Arbitrary User Meta Write in all versions up to, and including, 1.23.0 via the `my_profile_update()` function. This is due to the function performing no nonce verification, no capability check, and no allowlist validation on the meta key supplied via the `acf-photo-gallery-groups` POST parameter before passing both the meta key and its corresponding value directly to `update_user_meta()`. This makes it possible for authenticated attackers, with Subscriber-level access and above, to update arbitrary user meta values, though privilege escalation is not possible.","publishedAt":"2026-09-18T07:40:02.971Z","updatedAt":"2026-09-19T14:21:51.866Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Wordfence"},"assigner":"Wordfence","products":["mapster Mapster WP Maps"],"affected":[{"vendor":"mapster","product":"Mapster WP Maps","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.23.0","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/a70757f7-63a0-452a-a078-0fb7f82844b6?source=cve","https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.21.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L47","https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.23.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L47","https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.23.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L43","https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.21.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L43","https://plugins.trac.wordpress.org/changeset?reponame=&old=3611280%40mapster-wp-maps&new=3611280%40mapster-wp-maps"],"weaknesses":["CWE-20"],"ingestedAt":"2026-10-29T20:10:52.580Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/12xxx/CVE-2026-12954.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-12954","state":"PUBLISHED","datePublished":"2026-09-18T07:40:02.971Z","dateUpdated":"2026-09-19T14:21:51.866Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2026-06-22T21:18:38.522Z"},"containers":{"cna":{"title":"Mapster WP Maps <= 1.23.0 - Authenticated (Subscriber+) Arbitrary User Meta Write via 'acf-photo-gallery-groups' Parameter","descriptions":[{"lang":"en","value":"The Mapster WP Maps plugin for WordPress is vulnerable to Arbitrary User Meta Write in all versions up to, and including, 1.23.0 via the `my_profile_update()` function. This is due to the function performing no nonce verification, no capability check, and no allowlist validation on the meta key supplied via the `acf-photo-gallery-groups` POST parameter before passing both the meta key and its corresponding value directly to `update_user_meta()`. This makes it possible for authenticated attackers, with Subscriber-level access and above, to update arbitrary user meta values, though privilege escalation is not possible."}],"affected":[{"vendor":"mapster","product":"Mapster WP Maps","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.23.0","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/a70757f7-63a0-452a-a078-0fb7f82844b6?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.21.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L47"},{"url":"https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.23.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L47"},{"url":"https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.23.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L43"},{"url":"https://plugins.trac.wordpress.org/browser/mapster-wp-maps/tags/1.21.0/includes/acf-photo-gallery-field/includes/acf_photo_gallery_save.php#L43"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=&old=3611280%40mapster-wp-maps&new=3611280%40mapster-wp-maps"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","lang":"en","description":"CWE-20 Improper Input Validation","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-09-18T07:40:02.971Z"},"credits":[{"lang":"en","type":"finder","value":"Wordfence PRISM"}],"timeline":[{"time":"2026-06-22T21:33:49.000Z","lang":"en","value":"Vendor Notified"},{"time":"2026-09-17T19:14:56.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-12954","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-09-19T13:21:47.231767Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-19T14:21:51.866Z"}}]}}}