GHSA-5fm9-h728-fwpj trust-dns vulnerable to Remote Attackers causing Denial-of-Service (packet loops) with crafted DNS packets

Not scored Published

Remote attackers can cause denial of service in trust-dns by sending crafted DNS packets that trigger infinite response loops, consuming network and CPU resources.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-5fm9-h728-fwpj?

GHSA-5fm9-h728-fwpj is a denial of service vulnerability in trust-dns-server, published on 1 Jun 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

trust-dns and trust-dns-server are vulnerable to remotely triggered denial-of-service attacks, consuming both network and CPU resources. DNS messages with the QR=1 bit set are responded to with a FormErr response. This allows creating a traffic loop, in which these FormErr responses are sent nonstop between vulnerable servers.

There are two scenarios how this can be exploited: 1) Create a loop between two instances of trust-dns, consuming network resources, or 2) consuming the CPU of a single instance.

With two instances A and B an attacker sends a DNS query with a spoofed source IP address to A. A replies with a FormErr to B. Now both servers with ping-pong the message back and forth until by chance the packet is dropped in the network. Multiple spoofed packets can be sent by the attacker, increasing resource consumption.

A single server can get locked up replying to itself. Same setup as above, but now A sends the reply to itself. The packet is sent out as fast as the CPU and network stack manage. This locks up a CPU core. Multiple packets from the attacker consume multiple CPU cores.

Which versions are affected by GHSA-5fm9-h728-fwpj?

5 open source packages ship an affected version, including trust-dns-server.

PackageAffectedFixed in
trust-dns-server crates.ioAll versions0.22.1
trust-dns-server crates.ioAll versions0.22.1
trust-dns-server crates.ioFrom 0.0.0-00.22.1, 0.23.0-alpha.3
trust-dns-server crates.ioFrom 0.23.0-alpha.20.23.0-alpha.3
trust-dns-server crates.ioFrom 0.23.0-alpha.20.23.0-alpha.3

How do I fix GHSA-5fm9-h728-fwpj?

Upgrade trust-dns-server to a fixed version for your release line: 0.22.1 or 0.23.0-alpha.3.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is GHSA-5fm9-h728-fwpj being exploited?

There is no known exploitation of GHSA-5fm9-h728-fwpj in the wild and no public exploit code.

Sources

Also known as RUSTSEC-2023-0041.

Is GHSA-5fm9-h728-fwpj in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free