☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Miniorange logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-287
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-10111

CVE-2024-10111 Authentication Bypass in Miniorange
📅 PUBLISHED: 2024-12-12 03:23 UTC 🔄 UPDATED: 2026-09-22 08:01 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.40%
👁️
0.40% probability
9.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1078
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: India License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10111 is a critical authentication bypass vulnerability in the WordPress plugin OAuth Single Sign On – SSO (OAuth Client) by Miniorange, affecting all versions up to and including 6.26.3. The flaw resides in insufficient verification of the user identity returned by the social login token, allowing an unauthenticated attacker to log in as any existing user on the site, including administrators. This is a WordPress ecosystem issue and does not involve Apache or Nginx. The CVSS score is 8.1 (High), and no public exploit code or patch is currently available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users should treat this as a supply chain risk, as the plugin is a third-party component integrated into WordPress sites. No OSV or GitHub advisory data is available, and the patch status is unknown.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 8.1 (High)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: High (C:H)
  • Integrity Impact: High (I:H)
  • Availability Impact: High (A:H)

The threat level is critical due to the low attack complexity and the potential for full site compromise.

Deep Dive & Mechanics

The vulnerability exists in the OAuth Single Sign On plugin's handling of social login tokens. When a user authenticates via an OAuth provider (e.g., Google, Facebook), the plugin receives a token containing user information. The flaw is that the plugin does not properly verify that the user returned by the token is the same user who initiated the login. Specifically, the plugin fails to validate the sub (subject) claim or equivalent unique identifier against the session or state parameter.

An attacker can exploit this by:

  1. Obtaining a valid OAuth token from a provider (e.g., by registering a dummy account).
  2. Manipulating the token or the callback request to specify a different username (e.g., admin).
  3. The plugin, due to insufficient verification, logs the attacker in as that user.

The attack requires the attacker to know the target username and that the target user does not already have an account linked to the same OAuth provider. This is a classic authentication bypass via improper identity verification.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be in the OAuth callback handler. A typical vulnerable pattern might look like:

// Vulnerable code (pseudo)
$user_info = $oauth_provider->get_user_info($token);
$username = $user_info['username']; // Not verified against session
$user = get_user_by('login', $username);
if ($user) {
    wp_set_current_user($user->ID);
    wp_set_auth_cookie($user->ID);
}

A patched version would include verification:

// Patched code (pseudo)
$state = $_GET['state'];
$expected_state = get_transient('oauth_state_' . session_id());
if ($state !== $expected_state) {
    die('Invalid state');
}
$user_info = $oauth_provider->get_user_info($token);
$username = $user_info['username'];
// Verify that the user returned matches the state's intended user
$intended_user = get_transient('oauth_intended_user_' . session_id());
if ($username !== $intended_user) {
    die('User mismatch');
}
$user = get_user_by('login', $username);
if ($user) {
    wp_set_current_user($user->ID);
    wp_set_auth_cookie($user->ID);
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with the vulnerable plugin (<= 6.26.3) installed and configured with an OAuth provider.
  • Knowledge of a target username (e.g., admin).
  • Ability to register an account with the OAuth provider (e.g., Google).

Exploitation Steps:

  1. Register a dummy account with the OAuth provider (e.g., attacker@gmail.com).
  2. Initiate the OAuth login flow from the WordPress site.
  3. Intercept the callback request (e.g., using Burp Suite).
  4. Modify the username parameter in the callback to the target username (e.g., admin).
  5. Forward the request. The plugin will log you in as the target user.

Example Request Modification:

POST /wp-login.php?action=oauth_callback HTTP/1.1
Host: target-site.com
Content-Type: application/x-www-form-urlencoded

code=valid_code&state=valid_state&username=admin

Blue Team

Detection:

  • Monitor for unusual OAuth callback requests where the username parameter differs from the expected user.
  • Look for multiple failed login attempts followed by a successful OAuth login.
  • Check for logins from IP addresses not associated with the legitimate user.

Hunting Query (Splunk):

index=web sourcetype=access_combined
| search uri="/wp-login.php?action=oauth_callback*"
| rex field=uri "username=(?<username>\w+)"
| stats count by username, clientip
| where count > 1

Indicators of Compromise (IOCs)

  • Network:
    • Unusual OAuth callback requests with manipulated username parameters.
    • Multiple OAuth login attempts from the same IP in a short period.
  • Host:
    • New user sessions created without corresponding login events.
    • Unexpected administrator-level actions from non-admin IPs.
  • Logs:
    • WordPress debug log entries showing oauth_callback with mismatched usernames.
    • Authentication logs showing logins via OAuth for users who normally use password authentication.

Detection Engineering

YARA Rule

rule CVE_2024_10111_OAuth_Bypass {
    meta:
        description = "Detects exploitation attempts of CVE-2024-10111 in WordPress OAuth plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-10111"
    strings:
        $s1 = "oauth_callback" nocase
        $s2 = "username=" nocase
        $s3 = "admin" nocase
    condition:
        all of ($s1, $s2, $s3)
}

Sigma Rule

title: CVE-2024-10111 OAuth Authentication Bypass
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation of CVE-2024-10111 in WordPress OAuth plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains: "action=oauth_callback"
        cs-uri-query|contains: "username="
    condition: selection
falsepositives:
    - Legitimate OAuth logins
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-10111 OAuth Authentication Bypass"; flow:to_server,established; content:"/wp-login.php"; http_uri; content:"action=oauth_callback"; http_uri; content:"username="; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Implement Web Application Firewall (WAF) rules to block suspicious OAuth callback requests.
  3. Monitor logs for exploitation attempts.

Long-term Fix:

  • Apply the official patch from Miniorange once released.
  • Consider using alternative OAuth plugins with proper identity verification.

Workaround:

  • Add server-side validation to ensure the OAuth token's sub claim matches the expected user.

Valters IT Signature:

Valters IT
Senior DevSecOps Engineer
Cyber Threat Intelligence Expert
👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"WordPress" http.html:"oauth-client"
http.html:"oauth-client" "wp-content/plugins"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-10111/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.