Skip to main content

Dire Wolf CVE-2025-34458

HIGH
Reachable Assertion (CWE-617)
2025-12-22 disclosure@vulncheck.com
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach APRS/AX.25 input path
  2. Exploit
    Send crafted MIC-E frame with empty comment
  3. Execution
    Assertion fails in aprs_mic_e()
  4. Impact
    Process terminates (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Reachable assertion handling
Exploitation Conditions

No authentication or user interaction required (PR:N/UI:N): the attacker only needs a path by which Dire Wolf ingests an AX.25/APRS frame - RF reception, an APRS-IS internet feed, or a KISS/serial TNC link - and sends a MIC-E-format message whose comment field is empty or truncated (e.g., containing an embedded NUL byte near the end of the packet). The affected build is any Dire Wolf version up to and including 1.8 prior to commit 3658a87. The only limiting factor is that the attacker must be able to deliver a frame the target actually decodes, and impact is confined to crashing the decoding process (availability only); no code execution or data exposure results.

Impact

This is a genuine but narrow-impact issue: a reachable assertion (CWE-617) in Dire Wolf's APRS MIC-E decoder that a remote, unauthenticated attacker triggers by sending a malformed AX.25 frame, causing immediate process termination - a pure denial of service. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:N/VI:N/VA:H) is internally consistent with the description: no confidentiality or integrity impact, availability-only, no privileges or user interaction. The 8.7 'high' score is driven entirely by the availability metric and the easy, unauthenticated network reachability; it should NOT be read as an RCE-class threat. No EPSS score and no KEV listing are provided, and there is no indication of active exploitation, so exploitation status is limited to publicly documented reproducer code (issue 618 contains a contrived test case and VulnCheck published an advisory). The realistic priority is LOW-to-MEDIUM: trivially exploitable crash but confined to a niche amateur-radio TNC application, and a fix (commit 3658a87) already exists. NOTE a data conflict: one NVD reference (marlinkcyber MCSAID-2025-010) is titled 'direwolf-stack-buffer-overflow-kiss-frame,' which describes a DIFFERENT class of bug (stack buffer overflow via KISS frame) than this reachable-assertion MIC-E DoS - verify that reference belongs to this CVE.

Exploit ScenarioDerived

An attacker within reach of a Dire Wolf receiver - over RF/APRS, an APRS-IS network feed, or any AX.25 input path - transmits a crafted MIC-E packet with an empty or truncated comment field (including an embedded NUL near the packet end). When aprs_mic_e() decodes it, the assert(strlen(mcomment) > 0) fails and the process terminates. A public reproducer exists: the contrived test case in GitHub issue 618 and the VulnCheck advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 28, 2026

Denial of service in Dire Wolf through 1.8 and before commit 3658a87 allows a remote, unauthenticated attacker to terminate the decoding process by delivering a malformed AX.25/APRS MIC-E frame whose comment field is empty or truncated, such as one containing an embedded NUL byte near the end of the packet. The flaw is a reachable assertion in aprs_mic_e() in src/decode_aprs.c (CWE-617) that aborts when the decoded comment string is not non-empty. No public exploit identified at time of analysis, and impact is availability-only: no code execution or data exposure results. The NVD CVSS 4.0 vector scores 8.7 with VA:H, while the independent assessment rates availability-only impact with no authentication or user interaction required.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed. Apply commit 3658a87 or upgrade to a Dire Wolf release that includes it; the change replaces the fatal assert(strlen(mcomment) > 0) with a safe empty-comment return path. If immediate patching is not possible, reduce exposure by restricting the input paths that reach the decoder, for example limiting APRS-IS feeds, RF receivers, or KISS/TNC connections to trusted sources, and run the decoder under a service manager configured to restart it automatically after a crash. Those compensating controls do not prevent the assertion-triggered termination and may trade availability for reduced attack surface. See https://github.com/wb2osz/direwolf/issues/618 and https://www.vulncheck.com/advisories/wb2osz-direwolf-reachable-assertion-dos for details.

Affected ProductsAI

wb2osz/direwolf (Dire Wolf) versions up to and including 1.8 are affected if they predate commit 3658a87; the vulnerable component is the APRS MIC-E decoder in src/decode_aprs.c. No CPE string was provided in the input data. Relevant references are the upstream fix commit at https://github.com/wb2osz/direwolf/commit/3658a87, the upstream issue at https://github.com/wb2osz/direwolf/issues/618, and the VulnCheck advisory at https://www.vulncheck.com/advisories/wb2osz-direwolf-reachable-assertion-dos. A separate NVD reference to a marlinkcyber advisory describes a KISS-frame stack buffer overflow and should not be conflated with this CVE's MIC-E assertion denial of service.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Dire Wolf decodes APRS traffic carried in AX.25 frames, including MIC-E-encoded position/status messages that pack data into the AX.25 destination address and a short information field. The vulnerable function, aprs_mic_e() in src/decode_aprs.c, parsed that information field and relied on an assertion, assert(strlen(mcomment) > 0), to guarantee a non-empty comment. A crafted frame can place a NUL byte near the end of the packet, so strlen() sees an empty comment even though bytes remain; because the assertion is a fatal check rather than a recoverable error path, the decoder process terminates immediately. This is CWE-617, a reachable assertion. The upstream fix in commit 3658a87 removes the assert and instead checks whether the comment length is less than 1, returning an 'UNKNOWN vendor/model' result rather than aborting. No CPE string was supplied, but source evidence ties the issue to wb2osz/direwolf through 1.8 prior to that commit. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) and independent CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) both indicate remote, unauthenticated, availability-only impact.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vulncheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote unauthenticated malformed frame with no user interaction reliably crashes the process; availability-only impact, no confidentiality or integrity effect and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 7.5 HIGH

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

wb2osz/direwolf (Dire Wolf) versions up to and including 1.8, prior to commit 3658a87, contain a reachable assertion vulnerability in the APRS MIC-E decoder function aprs_mic_e() located in src/decode_aprs.c. When processing a specially crafted AX.25 frame containing a MIC-E message with an empty or truncated comment field, the application triggers an unhandled assertion checking for a non-empty comment. This assertion failure causes immediate process termination, allowing a remote, unauthenticated attacker to cause a denial of service by sending malformed APRS traffic.

Executive ViewAI

Why It Matters

Dire Wolf, an open-source APRS/AX.25 packet decoder used in amateur radio iGates, digipeaters, and emergency communications, can be halted entirely by a single malformed MIC-E frame in versions through 1.8. The failure is availability-only - no code execution or data exposure - but each malicious frame terminates the decoding process, and sustained traffic can keep APRS message relay and situational awareness offline indefinitely. Leadership should prioritize this only where Dire Wolf supports operational or emergency communications; for organizations without such deployments, exposure is limited to isolated hobbyist or lab systems. No vendor-released patch is currently available, so continuity depends on interim mitigations and process supervision.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis; upstream fix commit 3658a87 addresses the assertion. Interim mitigations: build or upgrade to source at or after commit 3658a87; restrict APRS-IS/KISS interfaces to trusted source addresses and networks; apply ingress allow-list or signature filtering to drop truncated or NUL-containing MIC-E frames; enable automatic process restart with alerting on abnormal termination; run the decoder as a low-privilege, isolated service; monitor upstream advisories for a formal release.

Threat Intelligence Overview

EPSS Score
0.5%
Top 63% exploitable
Prevalence
Low
niche amateur-radio software TNC/APRS decoder, hobbyist deployment
Data Quality
3 sources
Confidence: Low
NVD CVE.org EPSS Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Moderate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy