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

CVE-2023-22487

CVE-2023-22487 — Post mentions can be used to read any post on the forum without access control
📅 PUBLISHED: 2023-01-11 00:00 UTC 🔄 UPDATED: 2026-09-23 20:19 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.66%
👁️
0.66% probability
16.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Patch available — upgrade to latest release
CVSS VECTOR BREAKDOWN 7.7
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
7.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-22487 is an access control vulnerability in Flarum, an open-source forum software, affecting the flarum/mentions extension. An authenticated attacker with the ability to create (or edit) posts can enumerate and exfiltrate the full content of any post in the forum database, including posts in private tags, posts awaiting approval, and content created by private-discussion extensions. The vulnerability carries a CVSS score of 7.7 (High severity) and, at the time of this report, no vendor patch or official mitigation has been identified across tracked sources.

⚡ 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

Technical Analysis

The vulnerability resides in the interaction between Flarum's post mentions feature (provided by the flarum/mentions extension) and the forum's application programming interface (API) response handling. Flarum implements a special syntax for mentioning users in posts: @"<username>"#p<id>. This syntax instructs the forum to link to the mentioned post. The flaw is that the application performs no authorization check to verify whether the actor creating or editing a post has permission to read the post being mentioned.

The attack mechanism exploits two distinct data leaks:

  1. HTML Payload Leak: When a post contains the mention syntax, the forum generates a URL to the mentioned post and inserts it into the actor's post HTML. This URL is generated regardless of whether the actor is authorized to view the target post. The URL structure reveals the discussion ID and post number of the mentioned post, enabling an attacker to map the forum's discussion structure and identify valid post identifiers across the entire database.

  2. JSON:API Payload Leak: The mentionsPosts relationship, included in the responses for the POST /api/posts and PATCH /api/posts/<id> endpoints, leaks the full JSON:API payload of all mentioned posts. Critically, this relationship is populated without any access control checks. The leaked payload includes the post content, creation date, post number, and any custom attributes added by third-party extensions. This is the primary exfiltration channel — the attacker receives the raw content of the target post in the API response.

The vulnerability requires only the ability to create new posts on the forum. Even if the forum is configured to require approval for new posts, the mention relationship is still processed and returned in the API response before any approval workflow completes. This means an attacker can create a post that mentions arbitrary post IDs and immediately receive the leaked content in the response, without waiting for moderation.

An additional attack vector exists for users with post-editing privileges. An attacker can edit a single post to scan multiple post IDs (by changing the mentioned ID), retrieve the leaked data, and then revert the post content to hide the attack. This reduces the attack's visibility to forum administrators and moderators.

The vulnerability affects all post types, including non-comment posts such as tag changes and renaming events. The discussion payload itself is not directly leaked, but by combining the mentionsPosts relationship data with the discussion IDs extracted from the HTML payload, an attacker can reconstruct the full discussion history and threading.

At the time of writing, insufficient technical detail is available regarding the specific code-level implementation of the flawed authorization check. The vulnerability class is best described as an authorization bypass via user-controlled object references (CWE-639), where the system trusts the actor's request to reference a post ID without validating the actor's read permissions on that referenced object.


Exploitation Scenarios

Scenario 1: Mass Post Exfiltration via Post Creation (Low Privilege)

  1. Reconnaissance: The attacker identifies a target Flarum forum running the flarum/mentions extension. They create a low-privilege account and authenticate to the forum.
  2. Target Enumeration: The attacker begins iterating through numeric post IDs. The mention syntax @"<username>"#p<id> accepts any integer as the post identifier. The HTML payload in the response reveals discussion IDs, confirming which post IDs are valid.
  3. Exploitation: Using the API, the attacker issues a POST /api/posts request containing multiple mentions with crafted post IDs. The mentionsPosts relationship in the JSON response returns the full content of each mentioned post, regardless of the attacker's authorization level.
  4. Post-Exploitation: The attacker repeats the process across the entire ID space, harvesting the complete forum database — including private discussions, pending-approval posts, and content in restricted tags. The extracted data can be archived, indexed, and used for further attacks (e.g., credential phishing based on forum content, blackmail, or competitive intelligence).

Scenario 2: Stealth Exfiltration via Post Editing (Edit Privilege)

  1. Reconnaissance: The attacker has a legitimate forum account with post-editing privileges (common for active community members).
  2. Exploitation: The attacker edits a single post and modifies the mention reference to scan a range of post IDs in sequence. Each PATCH /api/posts/<id> request returns the target post content in the mentionsPosts relationship.
  3. Obfuscation: After the scan is complete, the attacker reverts the post to its original content. The repeated API calls may appear as minor user activity to security monitoring, making detection more difficult.
  4. Post-Exploitation: The attacker aggregates the leaked content and may optionally delete their interim edits to reduce forensic evidence on the forum itself.

No public proof-of-concept code has been identified for this vulnerability at the time of writing. The attack chain is inferred from the vulnerability class and the detailed information provided in the NVD description. The low-friction nature of the exploit — requiring only basic post-creation functionality — makes this an accessible attack for any motivated forum participant.


Impact Assessment

CVSS Assessment: The vulnerability scores 7.7 (High) under CVSS. The vector is consistent with a network-accessible, low-complexity attack requiring low-privilege authentication and no user interaction, with a high impact on confidentiality and no impact on integrity or availability. The confidentiality impact is rated High because the entire forum database's post content is exposed.

Business Impact: For organizations using Flarum as their community platform, this vulnerability results in the complete exposure of all forum content. This includes:

  • Private member discussions and direct messages (where enabled by extensions)
  • Moderator-only or staff-only discussions
  • Drafts and posts awaiting approval, which may contain sensitive or unreleased information
  • Internal company discussions, if the forum is used for organizational communication
  • Non-comment posts such as tag-change events, which may reveal administrative activity

Blast Radius: The attack surface is limited to forums running the flarum/mentions extension — which is a popular, commonly installed Flarum extension. The threat actor requires a valid forum account with post-creation rights. The EPSS score of 0.00665 (48.5th percentile) suggests moderate exploit likelihood in the wild.

Regulatory/Legal Considerations: If the forum hosts personally identifiable information (PII), health data, or proprietary business information, this vulnerability may constitute a reportable data breach under applicable regulations. The extended exfiltration timeframe could allow prolonged unauthorized access to protected data.

Confidence Assessment: The vulnerability is confirmed as an authorization check failure in the mentions feature's relationship loading. The attack methodology is well understood based on the description, but exact code-level details are not publicly available.


Detection Guidance

The following detection rules target the exploitation of CVE-2023-22487. They focus on identifying suspicious API patterns characteristic of the attack: high volumes of posts containing mention syntax referencing many distinct post IDs, and abnormal API response sizes.

Sigma Rule

title: Flarum Mentions Access Control Bypass - Mass Post ID Enumeration
id: f8a1c9e2-3b4d-4e5f-8a7b-9c0d1e2f3a4b
status: experimental
description: Detects rapid creation of posts containing mention syntax referencing many distinct post IDs, indicative of CVE-2023-22487 exploitation attempts.
logsource:
    category: application
    product: flarum
    service: api
detection:
    selection:
        api.endpoint:
            - 'POST /api/posts'
            - 'PATCH /api/posts/*'
        post.content|contains: '@"'
    condition: selection
    timeframe: 30s
    aggregation:
        group: actor.user_id
        count: 10
fields:
    - client.ip
    - actor.user_id
    - api.endpoint
falsepositives:
    - Legitimate users creating posts that mention multiple other users
    - Moderators referencing prior posts in administrative actions
level: medium
tags:
    - attack.t1190
    - cve.2023-22487

YARA Rule

rule CVE_2023_22487_Flarum_Mention_Exfil
{
    meta:
        author = "Valtersit Threat Intelligence"
        date = "2025-04-17"
        description = "Detects API responses containing excessive mentionsPosts relationship data characteristic of CVE-2023-22487 exploitation"
        cve = "CVE-2023-22487"
        score = 60
    strings:
        $mention_pattern = /@"[^"]+"#p\d+/
        $relationship_key = '"mentionsPosts"'
        $post_id_key = '"id"'
        $content_key = '"content"'
    condition:
        #mention_pattern > 5 and
        $relationship_key and
        $post_id_key and
        $content_key
}

Suricata IDS Rule

alert http any any -> any any (
    msg:"CVE-2023-22487 - Flarum Mentions Access Control Bypass Exfiltration";
    flow:to_server,established;
    http.method;
    http.uri;
    content:"/api/posts";
    http.request_body;
    pcre:"/@\"[^\"]+\"#p\d+/Ui";
    http.response_body;
    pcre:"/mentionsPosts/i";
    threshold:type threshold, track by_src, count 10, seconds 30;
    classtype:attempted-user;
    sid:20231230;
    rev:1;
    metadata:created_at 2025-04-17, cve CVE-2023-22487, tag access-control-bypass;
)

Elastic Detection

// EQL query to detect batch post creation with mention references
sequence by source.ip with maxspan=30s
  [create where process.name == "http.server" and
   url.path == "/api/posts" and
   post_data : "*@\"*#p*"]
  [create where process.name == "http.server" and
   url.path == "/api/posts" and
   post_data : "*@\"*#p*"]
  [create where process.name == "http.server" and
   url.path == "/api/posts" and
   post_data : "*@\"*#p*"]
  | where event.action == "post_create"

Splunk SPL Query

index=web sourcetype=access_combined
    (uri="/api/posts" OR uri="/api/posts/*")
    | regex _raw="(@\"[^\"]+\"#p\d+){5,}"
    | eval mention_count = mvcount(split(_raw, "#p"))
    | stats count by clientip, user, uri
    | where count > 10
    | table _time, clientip, user, uri, count
    | sort -count

Wazuh OSSEC Rule

<group name="flarum,">
  <rule id="100301" level="10">
    <decoded_as>json</decoded_as>
    <field name="endpoint">/api/posts</field>
    <regex>@"</regex>
    <description>Flarum CVE-2023-22487: Potential mention-based access control bypass detected</description>
    <group>cve-2023-22487</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: As of this report, CVE-2023-22487 has a patch confidence of 0/4 — no patch evidence has been identified from any tracked source. The vendor has not published a fix, and no patched version has been released. The AFFECTED_VERSION is listed as all versions (the "Unknown" vendor metadata in the CVE record aligns with this assessment).

1. Immediate Mitigations (Compensating Controls):

  • Disable or Uninstall the flarum/mentions Extension: The most immediate and effective mitigation is to remove or disable the flarum/mentions extension entirely. This eliminates the vulnerable attack surface at the cost of losing mention functionality.
  • Restrict Post-Creation Privileges: Limit the ability to create and edit posts to trusted users only. Review user roles and disable post creation for guest or low-trust accounts where business needs allow.
  • Enable Mandatory Post Approval: While the vulnerability still works with approval enabled (the API response leaks data before approval), enabling approval does establish a logging trail and allows manual review of suspicious posts.
  • Web Application Firewall (WAF) Rules: Deploy WAF rules to block requests containing the mention pattern (@"..."#p...) in API POST/PATCH payloads, or to rate-limit API requests to /api/posts endpoints.
  • Network Segmentation: If the forum contains sensitive internal discussions, restrict network access to the forum to trusted IP ranges or VPN connections.

2. Patch/Upgrade Steps:

  • Monitor the Flarum GitHub repository and official security advisories for a patched release. Subscribe to Flarum's security announcement channels.
  • When a patch is released, update Flarum core and the flarum/mentions extension to the latest versions. Test the upgrade in a staging environment before production deployment.
  • Vendor Fix: N/A — no vendor fix has been published.

3. Long-Term Hardening:

  • Review Third-Party Extensions: Conduct a security audit of all installed Flarum extensions, with particular attention to how they handle authorization checks and API relationships. The NVD description notes that leaked data includes "attributes added by other extensions," indicating that extension data is also exposed.
  • Implement API Rate Limiting: Configure rate limiting on the Flarum API to slow down mass enumeration attempts.
  • Log and Monitor API Access: Enable comprehensive API request logging and integrate with a SIEM (e.g., Splunk, Wazuh) using the detection guidance above.
  • Data Minimization: Audit existing forum content and purge sensitive data that is no longer required, reducing the impact if a future exposure occurs.
  • User Account Hygiene: Regularly review forum accounts and deactivate unused accounts, reducing the pool of potential low-privilege attackers.
  • Stay Informed: Track the CVE status via NVD and CISA KEV (the CVE is not currently on the CISA KEV list, but this should be rechecked periodically as threat intelligence evolves).

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-22487 — Official NVD record containing the full vulnerability description and CVSS scoring.
  2. Flarum GitHub Repository: https://github.com/flarum/framework — Monitor for security advisories and release notes. Track issues related to authorization checks in the mentions extension.
  3. Flarum Official Website: https://flarum.org — Vendor website for framework documentation and extension listings. Check for security announcements.
  4. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2023-22487 is not currently listed; recheck periodically for updates.
  5. MITRE ATT&CK Framework: https://attack.mitre.org/techniques/T1190/ — Reference for the "Exploit Public-Facing Application" tactic used in this report.

Threat Actor Campaigns / Exploit-in-the-Wild Evidence: No known active exploitation campaigns targeting CVE-2023-22487 have been publicly documented at the time of this report. The EPSS percentile of 48.5% indicates moderate probability of exploitation, but the lack of a public PoC or exploit code suggests limited real-world weaponization to date. This assessment may change as the vulnerability ages and attackers develop automated scanning capabilities.

👁️ 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.

Flarum forum
flarum mentions extension
http.title:"Flarum"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-22487/ · 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.