Miggo Logo

CVE-2018-20994:
Uncontrolled recursion in trust-dns-proto

7.5

CVSS Score

Basic Information

EPSS Score
-
Published
8/25/2021
Updated
6/13/2023
KEV Status
No
Technology
TechnologyRust

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
trust-dns-protorust< 0.4.30.4.3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability centers around improper handling of DNS message compression. The Name::from_bytes function is the primary entry point for parsing domain names in DNS packets, including handling compression pointers. The lack of recursion depth tracking or visited offset validation in this function would allow malicious pointers to create infinite parsing loops. This matches the CWE-674 (Uncontrolled Recursion) description and the advisory's technical details about compression pointer mishandling. The file path follows standard Rust crate structure for DNS protocol handling components.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

T**r*'s * st**k ov*r*low l***in* to * *r*s* w**n Trust-*NS's p*rs*s * m*li*ious *NS p**k*t. *****t** v*rsions o* t*is *r*t* *i* not prop*rly **n*l* p*rsin* o* *NS m*ss*** *ompr*ssion (R****** s**tion *.*.*). T** p*rs*r *oul* ** tri*k** into in*init*

Reasoning

T** vuln*r**ility **nt*rs *roun* improp*r **n*lin* o* *NS m*ss*** *ompr*ssion. T** N*m*::*rom_*yt*s *un*tion is t** prim*ry *ntry point *or p*rsin* *om*in n*m*s in *NS p**k*ts, in*lu*in* **n*lin* *ompr*ssion point*rs. T** l**k o* r**ursion **pt* tr**