{"api_version":"1","generated_at":"2026-10-16T08:10:21+00:00","cve":"CVE-2026-107659","urls":{"html":"https://cve.report/CVE-2026-107659","api":"https://cve.report/api/cve/CVE-2026-107659.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-107659","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-107659"},"summary":{"title":"Modula Image Gallery <= 3.0.11 - Missing Authorization to Unauthenticated Sensitive Information Exposure via Exposed 'modulaSettings' REST field on the modula-gallery CPT","description":"The Modula Image Gallery – Photo Grid & Video Gallery plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.0.11 via the 'id (post ID in /wp-json/wp/v2/modula-gallery/{id}) or none for collection route' parameter. This makes it possible for unauthenticated attackers to extract the plaintext Password Protect password and username for every published gallery from the modulaSettings REST field. The plugin's own /wp-json/modula/v2/gallery/{id}/settings endpoint correctly redacts the password for unauthenticated callers via redact_settings_for_public(), but no equivalent redaction is applied on the core /wp-json/wp/v2/modula-gallery path exposed by show_in_rest=true CPT registration.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-10-16 05:17:28","updated_at":"2026-10-16 05:17:28"},"problem_types":["CWE-862","CWE-862 CWE-862 Missing Authorization"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Primary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/changeset/3729079/modula-best-grid-gallery/trunk/includes/admin/cpt/class-modula-cpt.php","name":"https://plugins.trac.wordpress.org/changeset/3729079/modula-best-grid-gallery/trunk/includes/admin/cpt/class-modula-cpt.php","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/ea70ffaf-b78b-4550-b334-d105f25b3f61?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/ea70ffaf-b78b-4550-b334-d105f25b3f61?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/","name":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L141","name":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L141","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L189","name":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L189","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L209","name":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L209","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-107659","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107659","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"wpchill","product":"Modula Image Gallery – Photo Grid & Video Gallery","version":"affected 3.0.11 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-10-08T14:52:03.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-10-15T16:17:24.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Kuba","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Modula Image Gallery – Photo Grid & Video Gallery","vendor":"wpchill","versions":[{"lessThanOrEqual":"3.0.11","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Kuba"}],"descriptions":[{"lang":"en","value":"The Modula Image Gallery – Photo Grid & Video Gallery plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.0.11 via the 'id (post ID in /wp-json/wp/v2/modula-gallery/{id}) or none for collection route' parameter. This makes it possible for unauthenticated attackers to extract the plaintext Password Protect password and username for every published gallery from the modulaSettings REST field. The plugin's own /wp-json/modula/v2/gallery/{id}/settings endpoint correctly redacts the password for unauthenticated callers via redact_settings_for_public(), but no equivalent redaction is applied on the core /wp-json/wp/v2/modula-gallery path exposed by show_in_rest=true CPT registration."}],"metrics":[{"cvssV3_1":{"baseScore":7.5,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","description":"CWE-862 Missing Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-16T04:27:05.213Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/ea70ffaf-b78b-4550-b334-d105f25b3f61?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L209"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L189"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/tags/3.0.11/includes/admin/cpt/class-modula-cpt.php#L141"},{"url":"https://plugins.trac.wordpress.org/browser/modula-best-grid-gallery/"},{"url":"https://plugins.trac.wordpress.org/changeset/3729079/modula-best-grid-gallery/trunk/includes/admin/cpt/class-modula-cpt.php"}],"timeline":[{"lang":"en","time":"2026-10-08T14:52:03.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-10-15T16:17:24.000Z","value":"Disclosed"}],"title":"Modula Image Gallery <= 3.0.11 - Missing Authorization to Unauthenticated Sensitive Information Exposure via Exposed 'modulaSettings' REST field on the modula-gallery CPT"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-107659","datePublished":"2026-10-16T04:27:05.213Z","dateReserved":"2026-10-08T14:36:43.799Z","dateUpdated":"2026-10-16T04:27:05.213Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-16 05:17:28","lastModifiedDate":"2026-10-16 05:17:28","problem_types":["CWE-862","CWE-862 CWE-862 Missing Authorization"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"107659","Ordinal":"1","Title":"Modula Image Gallery <= 3.0.11 - Missing Authorization to Unauth","CVE":"CVE-2026-107659","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"107659","Ordinal":"1","NoteData":"The Modula Image Gallery – Photo Grid & Video Gallery plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 3.0.11 via the 'id (post ID in /wp-json/wp/v2/modula-gallery/{id}) or none for collection route' parameter. This makes it possible for unauthenticated attackers to extract the plaintext Password Protect password and username for every published gallery from the modulaSettings REST field. The plugin's own /wp-json/modula/v2/gallery/{id}/settings endpoint correctly redacts the password for unauthenticated callers via redact_settings_for_public(), but no equivalent redaction is applied on the core /wp-json/wp/v2/modula-gallery path exposed by show_in_rest=true CPT registration.","Type":"Description","Title":"Modula Image Gallery <= 3.0.11 - Missing Authorization to Unauth"}]}}}