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

CVE-2025-5323

CVE-2025-5323 Supply Chain Attack in Fossasia
📅 PUBLISHED: 2025-05-29 18:00 UTC 🔄 UPDATED: 2026-09-23 20:27 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.14%
👁️
0.14% probability
3.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
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
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-5323 is a problematic vulnerability in the Fossasia open-event-server version 1.19.1. The flaw resides in the send_email_change_user_email function within /fossasia/open-event-server/blob/development/app/api/helpers/mail.py, specifically in the Mail Verification Handler component. The vulnerability involves reliance on obfuscation or encryption of security-relevant inputs without integrity checking, allowing remote attackers to potentially bypass email verification mechanisms. The attack complexity is high, and exploitation is considered difficult. A public proof-of-concept (PoC) exists, but no official patch has been released by the vendor.

⚡ 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 the Python-based open-event-server package. As a PyPI ecosystem component, it is critical to verify the integrity of the package and its dependencies. The lack of a patch means that any deployment using version 1.19.1 is at risk. Organizations should monitor for updates from Fossasia and consider forking the repository to apply custom fixes.

CVSS Breakdown & Threat Level

The CVSS score is reported as 0.0, which is likely a placeholder. Based on the description, a more realistic assessment would be:

  • Attack Vector (AV): Network (N) – The attack can be initiated remotely.
  • Attack Complexity (AC): High (H) – Exploitation is difficult and requires specific conditions.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerability does not affect other components.
  • Confidentiality (C): Low (L) – Potential exposure of email verification tokens.
  • Integrity (I): Low (L) – Possible manipulation of email change requests.
  • Availability (A): None (N) – No impact on availability.

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Estimated Score: 4.8 (Medium)

Deep Dive & Mechanics

The vulnerability is in the send_email_change_user_email function, which handles email change verification. The function relies on obfuscation or encryption of security-relevant inputs (e.g., verification tokens) without proper integrity checking. This means an attacker could potentially craft or manipulate these inputs to bypass email verification, leading to unauthorized email address changes.

The core issue is a CWE-327: Use of a Broken or Risky Cryptographic Algorithm. The implementation likely uses a weak or reversible obfuscation method (e.g., base64 encoding, simple XOR, or a predictable hash) instead of a secure, integrity-protected mechanism like HMAC. Without integrity checking, an attacker can modify the obfuscated token and have it accepted by the server.

Attack Flow:

  1. The attacker initiates an email change request for a target user.
  2. The server generates an obfuscated token (e.g., base64(user_id + new_email + timestamp)).
  3. The attacker intercepts or predicts the token (due to weak obfuscation).
  4. The attacker modifies the token to change the email to an attacker-controlled address.
  5. The server accepts the modified token without verifying its integrity, updating the user's email.

Vulnerable vs. Patched Code

Since no official patch exists, we can only analyze the vulnerable code. The vulnerable function likely looks like:

# Vulnerable code (app/api/helpers/mail.py)
def send_email_change_user_email(user, new_email):
    token = base64.b64encode(f"{user.id}:{new_email}:{int(time.time())}".encode())
    # Send email with token
    send_email(user.email, "Verify email change", f"Click here: /verify?token={token}")

A patched version would use HMAC for integrity:

# Patched code (hypothetical)
import hmac
import hashlib

def send_email_change_user_email(user, new_email):
    data = f"{user.id}:{new_email}:{int(time.time())}"
    token = base64.b64encode(data.encode())
    signature = hmac.new(SECRET_KEY, data.encode(), hashlib.sha256).hexdigest()
    # Send email with token and signature
    send_email(user.email, "Verify email change", f"Click here: /verify?token={token}&sig={signature}")

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to the open-event-server instance (version 1.19.1).
  • Ability to intercept or predict email verification tokens.

Exploitation Steps:

  1. Identify the token generation mechanism by analyzing the source code or intercepting a legitimate email change request.
  2. Craft a malicious token that changes the email to an attacker-controlled address.
  3. Send the crafted token to the verification endpoint.

Example Exploit Script (Python):

import requests
import base64

target_url = "http://target.com/api/v1/users/verify-email-change"
attacker_email = "attacker@evil.com"
user_id = 123  # Target user ID

# Craft malicious token (assuming base64 encoding of user_id:new_email:timestamp)
malicious_token = base64.b64encode(f"{user_id}:{attacker_email}:9999999999".encode()).decode()

# Send request
response = requests.post(target_url, json={"token": malicious_token})
print(response.status_code)

Blue Team

Detection:

  • Monitor for unusual email change verification requests.
  • Look for tokens that do not match expected patterns (e.g., invalid timestamps, unexpected user IDs).
  • Implement rate limiting on email change endpoints.

Honeypot:

  • Deploy a fake user account and monitor for email change attempts.
  • Log all token verification requests for analysis.

Indicators of Compromise (IOCs)

  • Network: HTTP POST requests to /api/v1/users/verify-email-change with suspicious tokens.
  • Logs: Failed email verification attempts with mismatched user IDs or timestamps.
  • File: Modified app/api/helpers/mail.py if attacker gains code execution.
  • Email: Emails containing verification tokens with unusual patterns (e.g., base64 strings that decode to unexpected data).

Detection Engineering

YARA Rule

rule CVE_2025_5323_Mail_Verification {
    meta:
        description = "Detects vulnerable mail verification handler in open-event-server"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-5323"
    strings:
        $func = "send_email_change_user_email"
        $weak_crypto = "base64" nocase
        $no_hmac = "hmac" nocase
    condition:
        $func and $weak_crypto and not $no_hmac
}

Sigma Rule

title: Suspicious Email Change Verification Request
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects potential exploitation of CVE-2025-5323 via malformed verification tokens
logsource:
    category: web
    product: open-event-server
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/api/v1/users/verify-email-change'
        cs-uri-query|contains: 'token='
    filter:
        cs-uri-query|re: 'token=[A-Za-z0-9+/=]{20,}'  # Normal base64 token
    condition: selection and not filter
falsepositives:
    - Legitimate token regeneration
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-5323 - Suspicious Email Change Verification"; flow:to_server; content:"POST"; http_method; content:"/api/v1/users/verify-email-change"; http_uri; content:"token="; http_uri; pcre:"/token=[A-Za-z0-9+/=]{20,}/"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable the email change functionality if not required.
  2. Short-term: Implement integrity checking using HMAC with a secret key for all verification tokens.
  3. Long-term: Upgrade to a patched version once released by Fossasia. Monitor the official repository for updates.
  4. Compensating Controls: Deploy Web Application Firewall (WAF) rules to block malformed tokens. Implement rate limiting and anomaly detection on email change endpoints.

Valters IT
Securing Digital Frontiers

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