GHSA-F6HJ-W62G-R97P

Vulnerability from github – Published: 2026-10-16 06:30 – Updated: 2026-10-16 06:30
VLAI
Details

The MailOptin – Popup, Optin Forms & Email Newsletters for Mailchimp, HubSpot, AWeber Etc. plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.2.78.6 This is due to the subscribe_to_email_list endpoint accepting an attacker-supplied optin_data[form_custom_field_mappings] parameter without any allow-list validation on destination keys, allowing the attacker-controlled mapping to override the administrator's saved mapping and pass arbitrary wp_users column names — including ID and user_pass — directly into wp_insert_user() via the subscribe() function. This makes it possible for unauthenticated attackers to force wp_insert_user() into UPDATE mode on any existing account by supplying a target user's numeric ID, overwrite that account's password with a pre-hashed value of their choosing, and thereby take over any WordPress user account — including administrators — leading to full site compromise. Exploitation requires that a WordPress User Registration opt-in form is published somewhere on the site, though the form's UUID is visible in page source and no authentication, nonce, or capability check is required to reach the vulnerable endpoint.

Show details on source website

{
  "affected": [],
  "aliases": [
    "CVE-2026-109515"
  ],
  "database_specific": {
    "cwe_ids": [
      "CWE-269"
    ],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2026-10-16T05:17:29Z",
    "severity": "CRITICAL"
  },
  "details": "The MailOptin \u2013 Popup, Optin Forms \u0026 Email Newsletters for Mailchimp, HubSpot, AWeber Etc. plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.2.78.6 This is due to the `subscribe_to_email_list` endpoint accepting an attacker-supplied `optin_data[form_custom_field_mappings]` parameter without any allow-list validation on destination keys, allowing the attacker-controlled mapping to override the administrator\u0027s saved mapping and pass arbitrary `wp_users` column names \u2014 including `ID` and `user_pass` \u2014 directly into `wp_insert_user()` via the `subscribe()` function. This makes it possible for unauthenticated attackers to force `wp_insert_user()` into UPDATE mode on any existing account by supplying a target user\u0027s numeric `ID`, overwrite that account\u0027s password with a pre-hashed value of their choosing, and thereby take over any WordPress user account \u2014 including administrators \u2014 leading to full site compromise. Exploitation requires that a WordPress User Registration opt-in form is published somewhere on the site, though the form\u0027s UUID is visible in page source and no authentication, nonce, or capability check is required to reach the vulnerable endpoint.",
  "id": "GHSA-f6hj-w62g-r97p",
  "modified": "2026-10-16T06:30:26Z",
  "published": "2026-10-16T06:30:26Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109515"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/browser/mailoptin/tags/1.2.78.5/src/connections/WordPressUserRegistrationConnect/Subscription.php#L68"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/browser/mailoptin/tags/1.2.78.5/src/core/src/AjaxHandler.php#L699"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/browser/mailoptin/tags/1.2.78.5/src/core/src/Connections/AbstractConnect.php#L84"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/changeset/3744644/mailoptin/trunk/src/connections/WordPressUserRegistrationConnect/Subscription.php"
    },
    {
      "type": "WEB",
      "url": "https://plugins.trac.wordpress.org/changeset?reponame=\u0026new=3744644%40mailoptin%2Ftrunk\u0026old=3738326%40mailoptin%2Ftrunk#file4"
    },
    {
      "type": "WEB",
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/96111116-6b6f-42fc-98d8-6f5c27dc3c1c?source=cve"
    }
  ],
  "schema_version": "1.4.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.