diff options
author | Nick Mathewson <nickm@torproject.org> | 2017-09-18 09:40:40 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2017-09-18 09:40:40 -0400 |
commit | 7c61c437b34ea37fc22599f0aba5ed2551b6963f (patch) | |
tree | 432b8f76f25b5dba6ef058145cb5090ca1a932db | |
parent | dce1811cb8d9867f7d4e7fe1d24ebd99f3d59441 (diff) | |
parent | 314652dc16ece380de343ccdc5a2155d612bcff7 (diff) | |
download | tor-7c61c437b34ea37fc22599f0aba5ed2551b6963f.tar.gz tor-7c61c437b34ea37fc22599f0aba5ed2551b6963f.zip |
Merge branch 'maint-0.2.9' into release-0.2.9
-rw-r--r-- | changes/trove-2017-008 | 5 | ||||
-rw-r--r-- | src/or/rendservice.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/changes/trove-2017-008 b/changes/trove-2017-008 new file mode 100644 index 0000000000..4b9c5b0a12 --- /dev/null +++ b/changes/trove-2017-008 @@ -0,0 +1,5 @@ + o Major bugfixes (security, hidden services, loggging): + - Fix a bug where we could log uninitialized stack when a certain + hidden service error occurred while SafeLogging was disabled. + Fixes bug #23490; bugfix on 0.2.7.2-alpha. + This is also tracked as TROVE-2017-008 and CVE-2017-0380. diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 4d04da02aa..9c9b50445a 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -3265,6 +3265,8 @@ rend_service_intro_established(origin_circuit_t *circuit, (unsigned)circuit->base_.n_circ_id); goto err; } + base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32 + 1, + circuit->rend_data->rend_pk_digest, REND_SERVICE_ID_LEN); /* We've just successfully established a intro circuit to one of our * introduction point, account for it. */ intro = find_intro_point(circuit); @@ -3281,8 +3283,6 @@ rend_service_intro_established(origin_circuit_t *circuit, service->desc_is_dirty = time(NULL); circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_S_INTRO); - base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32 + 1, - circuit->rend_data->rend_pk_digest, REND_SERVICE_ID_LEN); log_info(LD_REND, "Received INTRO_ESTABLISHED cell on circuit %u for service %s", (unsigned)circuit->base_.n_circ_id, serviceid); |