aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2023-01-12 10:52:35 -0500
committerDavid Goulet <dgoulet@torproject.org>2023-01-12 10:52:35 -0500
commit14aad1a8bbc5d9f7941f4902626a4d861e4b8b7b (patch)
treef268944d94efc15f0596c8650dbb95cc43066131
parente94ba70fcda267c2fe6c71566d4f09889d10f394 (diff)
parent7b83e336ec4a1d137d6400f4d501c9a73835e34d (diff)
downloadtor-14aad1a8bbc5d9f7941f4902626a4d861e4b8b7b.tar.gz
tor-14aad1a8bbc5d9f7941f4902626a4d861e4b8b7b.zip
Merge branch 'maint-0.4.5' into release-0.4.5
-rw-r--r--changes/ticket407305
-rw-r--r--src/core/proto/proto_socks.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/changes/ticket40730 b/changes/ticket40730
new file mode 100644
index 0000000000..f6d4c9de3b
--- /dev/null
+++ b/changes/ticket40730
@@ -0,0 +1,5 @@
+ o Major bugfixes (TROVE-2022-002, client):
+ - The SafeSocks option had its logic inverted for SOCKS4 and SOCKS4a. It
+ would let the unsafe SOCKS4 pass but not the safe SOCKS4a one. This is
+ TROVE-2022-002 which was reported on Hackerone by "cojabo". Fixes bug
+ 40730; bugfix on 0.3.5.1-alpha.
diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c
index a7ee190b3f..97863d389e 100644
--- a/src/core/proto/proto_socks.c
+++ b/src/core/proto/proto_socks.c
@@ -233,7 +233,7 @@ static socks_result_t
process_socks4_request(const socks_request_t *req, int is_socks4a,
int log_sockstype, int safe_socks)
{
- if (is_socks4a && !addressmap_have_mapping(req->address, 0)) {
+ if (!is_socks4a && !addressmap_have_mapping(req->address, 0)) {
log_unsafe_socks_warning(4, req->address, req->port, safe_socks);
if (safe_socks)