RustSec logo

HistoryEditJSON (OSV)

RUSTSEC-2026-0279

Rojo development server vulnerable to DNS rebinding, allowing unauthenticated read/write access and local program execution

Reported
Issued
Package
rojo (crates.io)
Type
Vulnerability
Categories
Keywords
#dns-rebinding #cross-origin #localhost #code-injection
References
Patched
  • >=7.7.0

Description

Rojo's rojo serve command starts an unauthenticated HTTP API on localhost (default port 34872) with no Host or Origin header validation. While direct cross-origin fetch() requests from a malicious website are blocked by the browser's default CORS policy, an attacker can use DNS rebinding to bypass this restriction entirely.

The serve API is a two-way sync protocol. Once a DNS rebind is established, a malicious webpage visited by a developer running rojo serve can, without any further user interaction:

The flaw was corrected in #1270, which adds Host/Origin header validation to reject cross-origin requests, gates /api/open to loopback clients regardless of validated origin, and emits a warning when the server binds to a non-loopback address.

Advisory available under CC0-1.0 license.