Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to SOCKS4 service with -Ne enabled
-
ExploitSend probe failing SOCKS version check
-
ExecutionTrigger reply built from uninitialized sin
-
ImpactLeak stack bytes exposing pointer, weakening ASLR
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization
|
| Exploitation Conditions | Exploitation requires the 3proxy SOCKS proxy to be running with the external-NAT option (-Ne) configured - this is a non-default deployment setting and is the single most important limiting factor. The attacker must be able to reach the SOCKS listener over the network and send a SOCKS4-path client probe that deliberately fails the SOCKS version check to trigger the uninitialized reply. No authentication is required (PR:N) and no user interaction is needed (UI:N), but without -Ne configured the vulnerable code path (overwriting sin from extNat) is not reached, so instances not using external NAT are not affected. Impact is limited to disclosure of a few high bytes of a userspace pointer (partial ASLR weakening), not full memory read. |
| Impact | This is a genuine but modest-priority issue. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) indicates a network-reachable, unauthenticated flaw, but two signals temper the risk: AT:P reflects a required attack precondition (the non-default external-NAT -Ne option must be configured), and the impact is limited to VC:L (low confidentiality) with no integrity or availability effect. The real-world outcome is an information leak - a few high bytes of a userspace pointer - that weakens ASLR rather than granting direct code execution or data theft; it is most useful as a building block within a larger exploit chain, not as a standalone compromise. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so there is no public exploit identified at time of analysis. A vendor fix is confirmed (commit 206c923), and the source diff corroborates the root cause (the sin structure was partially overwritten from extNat without first being initialized via getsockname when remsock was invalid). Net assessment: real but low-to-moderate priority - the dependence on a non-default configuration and the low-value, ASLR-weakening-only impact keep it well below the urgency of a high-CVSS network RCE. |
| Exploit ScenarioDerived | An attacker who can reach a 3proxy SOCKS instance that is running with the external-NAT (-Ne) option opens a connection and sends a client probe crafted to fail the SOCKS version check. 3proxy's SOCKS4 reply path returns a reply built from an uninitialized sin structure, leaking stack bytes that include high bytes of a userspace pointer, which the attacker collects to defeat ASLR in a subsequent exploit. No public exploit was provided, and exploitation is low-complexity (AC:L) once the -Ne precondition is met. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
3proxy versions 0.9.7 through 1.0.1 can disclose uninitialized stack memory to remote, unauthenticated attackers who can reach the SOCKS listener when the non-default external-NAT option (-Ne) is configured. A crafted client probe that deliberately fails the SOCKS version check causes the proxy to emit a reply built from an uninitialized sin structure, leaking a few high bytes of a userspace pointer and thereby weakening ASLR; because the leak is partial (not a full memory read) and only reachable under the -Ne deployment setting, overall risk is moderate. No public exploit code has been identified at time of analysis and there is no confirmation of active exploitation (CISA KEV); the fix is available upstream as commit 206c923 but no tagged release containing it has been independently confirmed.
RemediationAI
Apply the upstream fix by upgrading to a 3proxy build that includes commit 206c923d6cd433bd2e7196375442650c328b8bfa (upstream fix available as a commit; a specific tagged release containing it has not been independently confirmed, so verify the patch is present in whatever version you deploy - for example by grepping the source or checking the vendor's release notes). If an immediate upgrade is not possible, the single most effective mitigation is to remove the external-NAT option (-Ne) from the running configuration so the vulnerable extNat code path is never entered; instances without -Ne are not affected, and the trade-off is loss of external NAT address translation for SOCKS replies, which may break deployments that rely on advertising an external address. Additionally, restrict network access to the SOCKS listener with firewall rules or bind it to trusted interfaces only, since the bug is reachable by any remote client that can send a probe, and consider running the service as an unprivileged user in a hardened/containerized environment to limit the value of leaked pointer bytes. There is no vendor-released standalone patch identified beyond the upstream commit, and no public exploit code has been observed, so prioritization can reflect the modest, partial-ASLR-leak impact. Refer to https://www.vulncheck.com/advisories/3proxy-uninitialized-stack-memory-disclosure-via-socks4 and the commit diff for verification details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-908 (use of uninitialized resource) in 3proxy's SOCKS handling code (src/socks.c). In the vulnerable code path, the local address structure 'sin' is populated by getsockname() only when the code takes the branch guarded by 'command != 3 && param->remsock != INVALID_SOCKET'. The external-NAT handling was written as a separate, independent conditional: when -Ne is set and the server's extNat field is non-null, it read the port from 'sin' (which may never have been initialized if no socket was associated with the request), overwrote 'sin' with the extNat address, and restored that port value before a SOCKS4-style reply was constructed. On a request that fails the SOCKS version check, this yields a reply carrying uninitialized stack bytes derived from the never-written 'sin' structure, exposing high bytes of a userspace pointer. The upstream fix (commit 206c923) restructures the logic so the external-NAT substitution happens only inside the same branch that successfully calls getsockname(), eliminating use of the uninitialized structure. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N) and the independent CVSS 3.1 assessment (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N) agree on network reachability, no privileges, no user interaction, and confidentiality-only impact at LOW severity; the AT:P / AC:H reflects the required non-default configuration.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N), but AC:H reflects the required non-default -Ne configuration precondition; only low confidentiality impact (partial pointer leak), no integrity or availability effect.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
3proxy from 0.9.7 through 1.0.1, fixed in commit 206c923, contains an uninitialized stack memory disclosure vulnerability that allows unauthenticated attackers to leak stack bytes via the SOCKS4 reply path when the external-NAT option (-Ne) is configured. Attackers can send a client probe that fails the SOCKS version check to trigger a reply containing uninitialized bytes from the sin structure, exposing high bytes of a userspace pointer that weakens ASLR protections.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-101290
GHSA-4226-q7gw-49h8
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB