Unauthenticated Broken Authentication Vulnerability in WordPress Jobmonster Theme

Published 18 September 2025
Table of Contents

This blog post is about an unauthenticated Broken Authentication vulnerability in the Jobmonster theme. If you're a Jobmonster theme user, please update the theme to at least version 4.8.0.

✌️ Our users are protected from this vulnerability. Are yours?

Web developers

Mitigate vulnerabilities in real-time without changing code.

See pricing
Plugin developers

Identify vulnerabilities in your plugins and get recommendations for fixes.

Request audit
Hosting companies

Protect your users, improve server health and earn additional revenue.

Patchstack for hosts

About the Jobmonster Theme

The Jobmonster theme, which has over 5,000 sales, is a premium WordPress theme designed to build job boards, recruitment, and resume‐portal websites. It aims to be an all-in-one solution connecting employers and candidates, with front-end submission, profile management, monetization, and search/filtering capabilities.

The security vulnerability

A broken authentication vulnerability was identified in the Jobmonster theme. An unauthenticated attacker can exploit this issue to bypass authentication controls, gaining elevated access to protected functionality or accounts without the need for valid credentials. The issue has been assigned CVE-2025-54738.

The theme exposes an AJAX action that returns session data for an arbitrary user identifier supplied by the attacker. The handler does not enforce nonce verification capability checks or require that the requester is authenticated. As a result, an unauthenticated POST to admin-ajax.php can return session information tied to the supplied admin email, enabling account impersonation:

The root of the issue lies in the check_login function:

public function check_login() {
	   [...]

           // simplified vulnerable logic
            switch ( $_POST['using'] ) {
                 case 'fb':
                   // set $user_email from Facebook response
                   break;
                 case 'google':
                  // set $user_email from Google response
                   break;
                // ... other providers ...
                default:
            // do nothing (no provider data)
            break;
            }

[...]

		$user_email = !empty($user_email) ? $user_email : (!empty($_POST['id']) ? esc_attr($_POST['id']) : '');
		if( empty( $user_email ) ) :

			$response['status']  = 'not_user';
			$response['message'] = esc_html__('User not being registered.', 'noo');
			wp_send_json( $response );

		endif;

		$user = get_user_by( 'email', $user_email );

		if( $user ) :

			$user_id             = $user->ID;
			wp_set_auth_cookie( $user_id, true );
			
			$response['status']  = 'success';
			$response['message'] = esc_html__('Login successfully.', 'noo');
			wp_send_json( $response );

		else :

			$response['status']  = 'not_user';
			$response['message'] = esc_html__('User not being registered.', 'noo');
			wp_send_json( $response );

		endif;
	}

Because the default case simply allowed execution to continue (no error or early return), an attacker could:

  • Submit any $_POST['using'] (including a random or unsupported value) so the switch drops to default.
  • Supply $_POST['id'] containing a victim email.

The patch

Site owners must update the Jobmonster theme to version 4.8.0 or later immediately. The vendor provided fix in 4.8.0 addresses the broken authentication logic and prevents the unauthenticated bypass:

file: framework/add-ons/social-login/class-social-login.php

  • The theme no longer accepts a user email from $_POST['id']. $user_email is now set only from validated social-provider responses (the code path inside the switch($_POST['using'])), so an attacker cannot directly supply an arbitrary email via POST.
  • The insecure fallback that allowed arbitrary $_POST['id'] to be used as $user_email was removed

Together, these changes close the reported broken authentication vulnerability.

Want to learn more about finding and fixing vulnerabilities?

Explore our Academy to master the art of finding and patching vulnerabilities within the WordPress ecosystem. Dive deep into detailed guides on various vulnerability types, from discovery tactics for researchers to robust fixes for developers. Join us and contribute to our growing knowledge base.

Timeline

25 May, 2025We processed the vulnerability and notified the vendor.
08 August, 2025Jobmonster theme version 4.8.0 has been released to patch the reported issue.
21 August, 2025We published the vulnerability entry to the Pachstack database.
18 September, 2025Security advisory article published.

🤝 You can help us make the Internet a safer place

Plugin developer?

Streamline your disclosure process to fix vulnerabilities faster and comply with CRA.

Get started for free
Hosting company?

Protect your users too! Improve server health and earn added revenue with proactive security.

Patchstack for hosts
Security researcher?

Report vulnerabilities to our gamified bug bounty program to earn monthly cash rewards.

Learn more

The latest in Security Advisories

Looks like your browser is blocking our support chat widget. Turn off adblockers and reload the page.
crossmenu