CVE-2023-43644: sing-box vulnerable to improper authentication in the SOCKS inbound
9.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.39262%
CWE
Published
9/26/2023
Updated
11/6/2023
KEV Status
No
Technology
Go
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/sagernet/sing-box | go | < 1.4.5 | 1.4.5 |
| github.com/sagernet/sing-box | go | >= 1.5.0-beta.1, < 1.5.0-rc.5 | 1.5.0-rc.5 |
| github.com/sagernet/sing | go | < 0.2.12-0.20230925092853-5b05b5c147d9 | 0.2.12-0.20230925092853-5b05b5c147d9 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from missing authentication validation in the SOCKS handshake handler. The patched commit 5b05b5c147d9 in the 'sing' library adds a critical check for the authentication status code (socks5.UsernamePasswordStatusSuccess) that was previously missing. The HandleConnection0 function in protocol/socks/handshake.go processed requests even when authentication failed, as shown by the added error return when response.Status != success. This matches the CWE-306 description of missing authentication for critical functionality and explains how crafted requests could bypass authentication.