Newsletter <= 9.3.9 - Unauthenticated Insufficiently Protected Credentials via '/tnp/l/' Click-Tracking REST Endpoint (Raw Subscriber Token Cookie Disclosure)
What fixes it
No source in this snapshot names a fixed version.
Description
The Newsletter – Send awesome emails from WordPress plugin for WordPress is vulnerable to Insufficiently Protected Credentials in all versions up to, and including, 9.3.9 The plugin's public click-tracking REST route /tnp/l/ is registered with permission_callback => '__return_true' and, upon receiving a valid keyed-MD5 signature, calls set_user_cookie(), which emits a Set-Cookie: newsletter=<id>-<raw_token> response header to the requester because the subscriber object loaded via get_user() lacks the _trusted property, causing get_user_key() to return the raw token column value instead of its MD5-masked variant. This makes it possible for unauthenticated attackers who obtain any signed click-tracking URL for a target subscriber to receive that subscriber's permanent raw authentication cookie, which they can then use to export the subscriber's full PII record via the JSON profile-export endpoint (?na=px), rewrite the subscriber's stored profile (?na=ps), and silently unsubscribe the subscriber via the RFC-8058 one-click endpoint (?na=ocu), none of which require a nonce, password, or email challenge. Signed tracking URLs are embedded in every external link of every newsletter delivered to a subscriber, carry no timestamp, and never expire until the site's relink key rotates, meaning that any party who observes such a URL — through a forwarded email, a shared inbox, a mail-gateway log, or Referer headers on the redirect target, which has no Referrer-Policy set — can replay it indefinitely to obtain the victim's credential.
Text from CVE List
Affected versions 1
- Newsletter – Send awesome emails from WordPressaffected: all versions through 9.3.9CVE List
References 8
- wordfence.com/threat-intel/vulnerabilities/id/ed68a4ff-a2aa-4df7-96b1-f094bce4b9b7?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/statistics/statistics.php#L174Referencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/includes/module.php#L403Referencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/includes/module-base.php#L441Referencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/statistics/statistics.php#L107Referencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/statistics/statistics.php#L335Referencevia CVE List
- plugins.trac.wordpress.org/browser/newsletter/tags/9.3.9/includes/module-base.php#L1209Referencevia CVE List
- plugins.trac.wordpress.org/changeset?reponame=&new=3709894%40newsletter%2Ftags%2F9.4.0&old=3695457%40newsletter%2Ftags%2F9.3.9Referencevia CVE List