CVE-2026-46378
MediumCVSS 6.2Exploitation Probability (EPSS)
Low risk2th percentile - higher than 2% of all known CVEs
Summary
A vulnerability in Dasel versions 3.0.0 through 3.10.1 causes an infinite loop when tokenizing an unterminated regex literal (e.g., r/). An attacker can exploit a crafted selector string to exhaust CPU resources.
Risk Assessment
The risk is a potential Denial of Service (DoS) attack by sending a specially crafted selector, leading to high CPU consumption and service disruption.
Recommendation
Upgrade Dasel to version 3.10.1 or later, which includes a fix for the infinite loop issue.
Other vulnerabilities in Dasel
See all- CVE-2026-62866Medium
Dasel versions 3.0.0 through 3.11.2 have a bug in the tokenizer that reads out of bounds when a selector ends with whitespace, causing a panic and process termination. Input passed through Tokenize() or dasel.Query is also affected.
- CVE-2026-59168Medium
Dasel versions 3.0.0 through 3.11.1 lack a depth limit when parsing nested JSON or XML. Deeply nested attacker-controlled input can exhaust the Go goroutine stack and cause an unrecoverable fatal error that terminates the entire process.
- CVE-2026-46377Medium
Dasel versions 3.0.0 through 3.10.0 have a vulnerability in the parseCurRune function of the tokenizer that fails to perform bounds checking when processing escape sequences in quoted strings. An attacker can supply a crafted selector string, causing an index-out-of-range panic.
Original NVD description (English source)
Dasel is a command-line tool and library for querying, modifying, and transforming data structures. From 3.0.0 until 3.10.1, the selector lexer matchRegexPattern closure in (*Tokenizer).parseCurRune in selector/lexer/tokenize.go loops while tokenizing an unterminated regex literal such as r/ because peekRuneEqual returns false after the end of input, allowing attacker-controlled selector strings to consume CPU indefinitely. This issue is fixed in version 3.10.1.

