CVE-2005-2071
Description
traceroute in Sun Solaris 10 on x86 systems allows local users to execute arbitrary code with PRIV_NET_RAWACCESS privileges via (1) a large number of -g arguments or (2) a malformed -s argument with a trailing . (dot).
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2- cpe:2.3:o:sun:solaris:10.0:*:sparc:*:*:*:*:*
- Range: =10
Patches
Vulnerability mechanics
Root cause
"Missing bounds checking on the number of `-g` gateway arguments allows stack buffer overflow, and improper validation of the `-s` source address argument causes heap corruption."
Attack vector
A local attacker triggers the `-g` overflow by passing 10 or more `-g` arguments followed by a crafted IP address that encodes a return address and shellcode. The IP address bytes overwrite the saved return address on the stack, and the shellcode is placed in one of the `-g` arguments. For the `-s` vulnerability, a malformed source address with a trailing dot (e.g. `127.0.0.1.`) causes heap corruption during `freeaddrinfo()`, which can be leveraged for arbitrary code execution. Both vectors require only local shell access and no special privileges beyond those already held by the `traceroute` binary [ref_id=1].
Affected code
The vulnerability resides in `/usr/sbin/traceroute` on Solaris 10 x86 systems. The `-g` (gateway) argument handler suffers from a buffer overflow when 10 or more `-g` parameters are supplied, overwriting the return address with the IP address argument. The `-s` (source) argument handler causes heap corruption when given a malformed value with a trailing dot, leading to a crash in `freeaddrinfo()` called from `main()` [ref_id=1].
What the fix does
The advisory does not include a patch or vendor fix. The researcher notes the vulnerability is specific to Solaris 10 and does not affect Solaris 8, 9, or OpenSolaris, suggesting the bug was introduced in the Solaris 10 codebase. No remediation guidance is provided in the reference write-up beyond the implicit observation that the flaw is absent in earlier releases [ref_id=1].
Preconditions
- authAttacker must have local shell access to a Solaris 10 x86 system
- configThe traceroute binary must be present and executable at /usr/sbin/traceroute
- authNo additional privileges required beyond those of the invoking user
Reproduction
1. Supply 10 or more `-g` arguments with a crafted IP address as the target: `/usr/sbin/traceroute -g 1 -g 2 -g 3 -g 4 -g 5 -g 6 -g 7 -g 8 -g 9 -g 10 127.0.0.1` — this causes a segmentation fault with the return address overwritten by `0x0100007f` (the IP bytes). 2. For code execution, use a Perl script that encodes a return address and shellcode into the IP address and a `-g` argument, as demonstrated in the PoC [ref_id=1]. 3. For the `-s` heap corruption, pass a malformed source address with a trailing dot: e.g. `/usr/sbin/traceroute -s 127.0.0.1. 127.0.0.1` [ref_id=1].
Generated on May 26, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- www.securityfocus.com/bid/14049nvdExploit
- secunia.com/advisories/17708nvdVendor Advisory
- www.vupen.com/english/advisories/2005/2564nvdVendor Advisory
- marc.infonvd
- marc.infonvd
- marc.infonvd
- securitytracker.com/idnvd
- sunsolve.sun.com/search/document.donvd
News mentions
0No linked articles in our index yet.