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

CVE-2024-23084

CVE-2024-23084 Supply Chain Attack in Apfloat
📅 PUBLISHED: 2024-04-08 00:00 UTC 🔄 UPDATED: 2026-10-02 19:30 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.60%
👁️
0.60% probability
14.9× 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
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-23084 is a disputed vulnerability reported in Apfloat v1.10.1, a Java arbitrary-precision floating-point library. The claim involves an ArrayIndexOutOfBoundsException in the org.apfloat.internal.DoubleCRTMath::add(double[], double[]) method. Multiple third parties have contested the finding, stating there was insufficient evidence to confirm a security vulnerability. The CVSS score is 0.0, and no exploit code, proof-of-concept, or patch has been published. The EPSS score is 0.0%, indicating no active exploitation in the wild. This report treats the issue as a potential denial-of-service (DoS) vector if triggered by malformed input, but the disputed nature means it may be a false positive from automated analysis.

⚡ 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

Apfloat is a Java library distributed via Maven Central. No official advisory, CVE patch, or version update has been released. Users should monitor the project repository for any future fixes. The disputed status reduces immediate supply chain risk, but the lack of a patch means any confirmed vulnerability would remain unaddressed.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (None)
  • Vector: UNKNOWN
  • Attack Vector: UNKNOWN
  • Attack Complexity: UNKNOWN
  • Privileges Required: UNKNOWN
  • User Interaction: UNKNOWN
  • Scope: UNKNOWN
  • Confidentiality Impact: NONE
  • Integrity Impact: NONE
  • Availability Impact: NONE (disputed)

Threat Level: Low (disputed, no exploit, no patch, no active exploitation).

Deep Dive & Mechanics

The reported vulnerability lies in the DoubleCRTMath.add() method, which performs element-wise addition of two double[] arrays. An ArrayIndexOutOfBoundsException can occur if the input arrays have mismatched lengths or if an index is accessed beyond the array bounds. In a typical usage scenario, this would be a programming error rather than a security flaw. However, if the library processes untrusted input (e.g., user-supplied array sizes), an attacker could craft input to cause an unhandled exception, leading to a denial-of-service condition.

The disputed nature suggests the reporter may have used a static analysis tool that flagged a potential out-of-bounds access without confirming it is exploitable. The library's internal methods are not directly exposed to external input in standard use, reducing the attack surface.

Vulnerable vs. Patched Code

Vulnerable Code (Apfloat v1.10.1):

// org.apfloat.internal.DoubleCRTMath.java
public void add(double[] a, double[] b) {
    for (int i = 0; i < a.length; i++) {
        a[i] += b[i]; // Potential ArrayIndexOutOfBoundsException if b.length < a.length
    }
}

Patched Code (Hypothetical):

public void add(double[] a, double[] b) {
    int minLen = Math.min(a.length, b.length);
    for (int i = 0; i < minLen; i++) {
        a[i] += b[i];
    }
}

No official patch exists. The above is a defensive fix that would prevent the exception by iterating only up to the shorter array length.

Exploitation & Lab Setup

Red Team

No public exploit exists. To test for DoS potential, an attacker would need to craft input that triggers the add() method with mismatched array lengths. Example:

import org.apfloat.internal.DoubleCRTMath;

public class Exploit {
    public static void main(String[] args) {
        DoubleCRTMath math = new DoubleCRTMath();
        double[] a = new double[10];
        double[] b = new double[5]; // Shorter array
        math.add(a, b); // Triggers ArrayIndexOutOfBoundsException
    }
}

This would cause an unhandled exception, potentially crashing the application if not caught.

Blue Team

  • Monitor logs for ArrayIndexOutOfBoundsException in Apfloat-related code.
  • Validate all array lengths before passing to Apfloat methods.
  • Use a security manager or exception handler to prevent crashes.
  • Consider replacing Apfloat with an actively maintained alternative if the vulnerability is confirmed.

Indicators of Compromise (IOCs)

  • Log Entry: java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5 (or similar) in stack traces involving org.apfloat.internal.DoubleCRTMath.add.
  • Network: No network IOCs; this is a local DoS vector.
  • File: No specific file IOCs.

Detection Engineering

YARA Rule

rule CVE_2024_23084_Apfloat_ArrayIndexOutOfBounds {
    meta:
        description = "Detects potential exploitation of CVE-2024-23084 in Apfloat v1.10.1"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-23084"
    strings:
        $s1 = "org.apfloat.internal.DoubleCRTMath" ascii wide
        $s2 = "ArrayIndexOutOfBoundsException" ascii wide
    condition:
        $s1 and $s2
}

Sigma Rule

title: CVE-2024-23084 Apfloat ArrayIndexOutOfBoundsException
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects ArrayIndexOutOfBoundsException in Apfloat DoubleCRTMath.add
author: Valters IT
date: 2025-04-10
logsource:
    product: java
    service: application
detection:
    selection:
        ExceptionClass: "java.lang.ArrayIndexOutOfBoundsException"
        StackTrace|contains: "org.apfloat.internal.DoubleCRTMath.add"
    condition: selection
falsepositives:
    - Legitimate programming errors in non-security contexts
level: low

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-23084 Apfloat DoS Attempt"; flow:to_server; content:"ArrayIndexOutOfBoundsException"; content:"DoubleCRTMath"; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Validate all array lengths before calling Apfloat methods. Wrap calls in try-catch blocks to handle exceptions gracefully.
  • Short-term: Monitor the Apfloat repository for any official patch or advisory. Consider forking the library and applying the defensive fix shown above.
  • Long-term: Evaluate alternative arbitrary-precision libraries (e.g., JScience, or Java's built-in BigDecimal/BigInteger) if the vulnerability is confirmed and no patch is provided.
  • No patch available from the vendor as of this report.

Valters IT
Securing Digital Frontiers

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