Skip to content
Laskyr

CVE-2026-119096: Uncanny Toolkit for LearnDash authentication bypass vulnerability

critical 9.8 published 2026-10-31 · updated 2026-11-02

Fixed in Uncanny Toolkit for LearnDash 3.8.3 (first release after the affected range)

Uncanny Toolkit for LearnDash 3.8.2 and older is affected by this authentication bypass issue. Sites on 3.8.3 or newer are not affected; the latest release is 3.8.3.

Affected versions
3.8.2 and older
Fixed in
3.8.3 *
Latest version
3.8.3
Severity
Critical · CVSS 9.8
Active installs
20,000+
Type
Authentication bypass

* The source does not name a fixed version; this is the first wordpress.org release after the last affected version.

What an attacker needs

CVSS vector (score by Wordfence): CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

What to do now

  1. Update Uncanny Toolkit for LearnDash to 3.8.3 or newer: Dashboard → Updates, or Plugins → “update now”.
  2. If you cannot update right away, deactivate it until you can.
  3. Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
  4. Not sure which version you run? Check your version against every known Uncanny Toolkit for LearnDash issue. With WP-CLI: wp plugin get uncanny-learndash-toolkit --field=version.
  5. If you ran an affected version and something looks off (new admin users, spam pages, redirects), run the free scan below.

The advisory

The Uncanny Toolkit for LearnDash plugin for WordPress is vulnerable to Authentication Bypass in versions up to, and including, 3.8.2 via the `email` parameter of the `uo_login_action()` function. This is due to a parser-differential flaw in which the plugin's account-verification gate resolves the submitted `email` value using the raw, unsanitized string passed to `get_user_by()`, while the subsequent `wp_signon()` call relies on WordPress core's internal `sanitize_user()` to strip appended junk characters — causing the gate lookup to fail and be skipped entirely while the real account is still resolved and authenticated. This makes it possible for unauthenticated attackers to log in to unverified or administrator-suspended accounts whose credentials they already possess, obtaining a valid `wordpress_logged_in` session cookie and defeating the plugin's account-approval and account-suspension controls. The nonce required to reach the handler is freely obtainable in the same request from the unauthenticated `ult-refresh-nonce` endpoint, making exploitation trivial for any attacker with network access to the site and knowledge of a target account's credentials.

Description from the CVE record, published by Wordfence (the CVE Numbering Authority), via the NVD entry for CVE-2026-119096.

References

Related

Ran an affected version? Check your site for signs of a hack

The free scan reads the public side of your site and looks for spam pages, hidden redirects, injected scripts and blacklist entries. No login, no install, about a minute.

Where this data comes from

First hour checklist

If the site was just hacked, read the emergency kit before you delete files. The page is free. Email is optional.

Read the emergency kit