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

CVE-2024-31398

CVE-2024-31398 Information Disclosure in Cybozu
📅 PUBLISHED: 2024-06-11 05:20 UTC 🔄 UPDATED: 2026-09-23 20:35 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.32%
👁️
0.32% probability
7.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Japan License: Commercial
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
4.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-31398 is an information disclosure vulnerability in Cybozu Garoon versions 5.0.0 through 5.15.2. The flaw allows an authenticated user to obtain the list of users by exploiting the insertion of sensitive information into sent data. This can lead to reconnaissance and further targeted attacks within the organization. No public proof-of-concept or patch details are 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

CVSS Breakdown & Threat Level

The CVSS score is 0.0, indicating that no official CVSS vector has been assigned. However, based on the nature of the vulnerability (information disclosure via authenticated access), a reasonable assessment would be:

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

Estimated CVSS v3.1 Score: 6.5 (Medium)

Threat Level: Medium – Exploitation requires authentication but can lead to significant information gathering.

Deep Dive & Mechanics

The vulnerability resides in the way Cybozu Garoon handles user data during certain operations. When a user performs a specific action (e.g., sending a request or form), the application inadvertently includes sensitive information about other users in the response or transmitted data. This could be due to improper filtering or inclusion of user list data in API responses, error messages, or other data streams.

Root Cause: The application fails to sanitize or restrict the inclusion of user enumeration data in responses to authenticated requests. This allows an attacker with low privileges to enumerate all users in the system.

Attack Scenario:

  1. An attacker logs in with a valid low-privilege account.
  2. The attacker sends a crafted request to a vulnerable endpoint.
  3. The server responds with data containing the full user list (usernames, email addresses, etc.).
  4. The attacker uses this information for further attacks (e.g., password spraying, social engineering).

Vulnerable vs. Patched Code

No patch details are available. The vulnerable versions are 5.0.0 to 5.15.2. A patched version would likely include proper access controls or data filtering to prevent user list exposure.

Vulnerable Code (Hypothetical):

// Vulnerable endpoint returns all users without privilege check
app.get('/api/users', (req, res) => {
  const users = db.getAllUsers();
  res.json(users);
});

Patched Code (Hypothetical):

// Patched endpoint checks user role before returning data
app.get('/api/users', (req, res) => {
  if (req.user.role !== 'admin') {
    return res.status(403).json({ error: 'Forbidden' });
  }
  const users = db.getAllUsers();
  res.json(users);
});

Exploitation & Lab Setup

Red Team

Lab Setup:

  • Install Cybozu Garoon 5.15.2 on a test server.
  • Create a low-privilege user account.
  • Use Burp Suite or similar tool to intercept and modify requests.

Exploitation Steps:

  1. Log in as the low-privilege user.
  2. Identify endpoints that return user data (e.g., /api/users, /api/contacts).
  3. Send a GET request to the endpoint and observe the response.
  4. If the response contains a list of all users, the vulnerability is confirmed.

Example Request:

GET /api/users HTTP/1.1
Host: garoon.example.com
Cookie: session=lowprivsession

Example Response:

{
  "users": [
    {"id": 1, "username": "admin", "email": "admin@example.com"},
    {"id": 2, "username": "user1", "email": "user1@example.com"}
  ]
}

Blue Team

Detection:

  • Monitor for unusual API calls to user enumeration endpoints.
  • Alert on multiple requests to /api/users or similar from a single low-privilege user.
  • Use the Sigma rule below to detect suspicious activity.

Mitigation:

  • Implement proper access controls on all user-related endpoints.
  • Apply the principle of least privilege.
  • Monitor logs for unauthorized access attempts.

Indicators of Compromise (IOCs)

  • Network: Unusual GET requests to /api/users, /api/contacts, or similar endpoints.
  • Logs: Multiple 200 responses to user enumeration endpoints from low-privilege accounts.
  • User Agent: Any standard browser or automated tool (e.g., curl, python-requests).

Detection Engineering

YARA Rule

rule CVE_2024_31398_User_Enumeration {
    meta:
        description = "Detects attempts to exploit CVE-2024-31398 in Cybozu Garoon"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-31398"
    strings:
        $user_list = "/api/users" nocase
        $contact_list = "/api/contacts" nocase
        $user_data = "users" nocase
    condition:
        any of ($user_list, $contact_list) and $user_data
}

Sigma Rule

title: Cybozu Garoon User Enumeration Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to enumerate users via CVE-2024-31398
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-stem:
            - '/api/users'
            - '/api/contacts'
        sc-status: 200
    condition: selection
falsepositives:
    - Legitimate admin activity
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-31398 Cybozu Garoon User Enumeration"; flow:to_server; content:"/api/users"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Patch: Apply the official patch from Cybozu when available. Monitor the vendor's security advisory page.
  2. Workaround: If patching is not possible, restrict access to user enumeration endpoints via web application firewall (WAF) rules or reverse proxy configurations.
  3. Access Control: Ensure that only administrators can access user list endpoints.
  4. Monitoring: Enable logging and alerting for suspicious API calls.
  5. User Education: Inform users about the risk of information disclosure.

Valters IT Signature: This report was generated by Valters IT DevSecOps AI Assistant. For questions, contact security@valters-it.com.

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