CVE-2023-43279
Executive Summary
CVE-2023-43279 is a denial-of-service vulnerability in Tcpreplay 4.4.4, specifically in the mask_cidr6 function within cidr.c. The flaw is a NULL pointer dereference that can be triggered by a crafted tcprewrite command, causing the application to crash. This vulnerability has a CVSS score of 0.0 (likely unassigned or placeholder), but the EPSS score is 0.0%, indicating low exploitation probability in the wild. No public exploit code or patch details are available at this time.
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.
No signup required
Supply Chain & Package Security
This vulnerability affects the Tcpreplay package, which is commonly used in network security testing and packet manipulation. The package is available via package managers like apt, yum, and from source. Users should verify their version and apply any available updates from the vendor.
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0, which is likely a placeholder or unassigned. Based on the vulnerability type (NULL pointer dereference leading to DoS), a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Local (L) – requires local access to run
tcprewrite. - Attack Complexity (AC): Low (L) – no special conditions.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): Required (R) – user must run the crafted command.
- Scope (S): Unchanged (U) – only affects the vulnerable component.
- Confidentiality (C): None (N) – no data exposure.
- Integrity (I): None (N) – no data modification.
- Availability (A): High (H) – causes application crash.
Estimated CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Estimated Base Score: 5.5 (Medium)
Threat Level: Medium – requires local access and user interaction, but can disrupt network testing operations.
Deep Dive & Mechanics
The vulnerability resides in the mask_cidr6 function in cidr.c of Tcpreplay 4.4.4. This function is responsible for applying CIDR masks to IPv6 addresses. When a crafted tcprewrite command is executed with specific arguments, the function dereferences a NULL pointer, leading to a segmentation fault and application crash.
The root cause is improper validation of input parameters, specifically when handling malformed or unexpected CIDR notation for IPv6 addresses. The function attempts to access memory through a pointer that has not been properly initialized or has been set to NULL.
Affected Component: mask_cidr6 in cidr.c
Trigger: Crafted tcprewrite command with malicious IPv6 CIDR arguments.
Vulnerable vs. Patched Code
Since no patch details are available, we can only describe the vulnerable code pattern.
Vulnerable Code (hypothetical):
void mask_cidr6(struct cidr *cidr, struct in6_addr *addr) {
// Assume cidr is not validated
struct in6_addr *mask = cidr->mask; // Potential NULL dereference if cidr->mask is NULL
// ... apply mask
}
Patched Code (expected):
void mask_cidr6(struct cidr *cidr, struct in6_addr *addr) {
if (cidr == NULL || cidr->mask == NULL) {
// Handle error gracefully
return;
}
struct in6_addr *mask = cidr->mask;
// ... apply mask
}
The fix would involve adding NULL pointer checks before dereferencing any pointers.
Exploitation & Lab Setup
Red Team
To exploit this vulnerability, an attacker would craft a tcprewrite command that triggers the NULL pointer dereference. Since no public exploit exists, the following is a conceptual approach:
- Identify Target: Find a system running Tcpreplay 4.4.4.
- Craft Payload: Create a pcap file with malformed IPv6 CIDR data.
- Execute: Run
tcprewrite --infile=malicious.pcap --outfile=output.pcap --cidr6=::/0(or similar crafted arguments).
Proof-of-Concept (conceptual):
# Create a malformed pcap file (requires custom tooling)
# Then run:
tcprewrite --infile=malicious.pcap --outfile=output.pcap --cidr6=::/0
Blue Team
Detection:
- Monitor for crashes of
tcprewriteortcpreplayprocesses. - Look for unusual command-line arguments containing malformed IPv6 CIDR notation.
- Use process monitoring to detect segmentation faults.
Prevention:
- Restrict execution of
tcprewriteto trusted users only. - Use application whitelisting to prevent unauthorized execution.
- Apply vendor patches when available.
Indicators of Compromise (IOCs)
- Process:
tcprewritecrashing with segmentation fault (SIGSEGV). - Logs: System logs showing
tcprewrite[PID]: segfault at IP ...or similar. - Files: Malicious pcap files with malformed IPv6 CIDR data.
- Network: No network-based IOCs as this is a local vulnerability.
Detection Engineering
YARA Rule
rule CVE_2023_43279_Tcpreplay_NULL_Pointer {
meta:
description = "Detects Tcpreplay 4.4.4 binary with NULL pointer dereference vulnerability"
author = "Valters IT"
date = "2025-04-10"
hash = "unknown"
strings:
$vuln_func = "mask_cidr6"
$vuln_version = "4.4.4"
condition:
$vuln_func and $vuln_version
}
Sigma Rule
title: Tcpreplay NULL Pointer Dereference Crash
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects crashes of tcprewrite due to CVE-2023-43279
author: Valters IT
date: 2025-04-10
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/tcprewrite'
CommandLine|contains: '--cidr6'
condition: selection
falsepositives:
- Legitimate use of tcprewrite with valid CIDR6 arguments
level: medium
Suricata Rule
alert tcp any any -> any any (msg:"CVE-2023-43279 Tcpreplay NULL Pointer Dereference Attempt"; flow:to_server; content:"tcprewrite"; content:"--cidr6"; classtype:attempted-dos; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade: Check for updates from the Tcpreplay project (https://tcpreplay.appneta.com/). If a patched version is available, upgrade immediately.
- Workaround: Avoid using the
--cidr6option with untrusted input. Restrict execution oftcprewriteto trusted users. - Monitoring: Implement detection rules (YARA, Sigma, Suricata) to identify exploitation attempts.
Long-term:
- Apply vendor patches as soon as they are released.
- Consider using alternative tools for network packet manipulation if the vulnerability is not patched.
- Implement application sandboxing to limit the impact of crashes.
Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters.it.