New issue
Advanced search Search tips

Issue 659361 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

Stack-buffer-overflow in tls1_set_curves

Project Member Reported by ClusterFuzz, Oct 25 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5795514852573184

Fuzzer: libfuzzer_boringssl_ssl_ctx_api_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: Stack-buffer-overflow READ 4
Crash Address: 0x7f55cb34e439
Crash State:
  tls1_set_curves
  SSL_CTX_set1_curves
  $_32::operator
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=426164:426214

Minimized Testcase (0.16 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95CHTC-IrId4mKTYgAjhhVBrWvHIpvFo2Fv6LY9fvW97z-P_K2KoRjjma041q5an7yfvHptrhV-OPf3FRPVHPzRxWggs16vEFjUEbeuPwQbde9UQgGUXWBVFXQNcrlCnfxfGSAz7ju2ngkrGCJLug6mxul0Ug?testcase_id=5795514852573184

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
 

Comment 1 by aarya@google.com, Oct 26 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-EditIssue Type-Bug
These were incorrectly filed as security bugs, removing security tags.

Comment 2 by aarya@google.com, Oct 26 2016

Labels: -Security_Severity-Medium -Security_Impact-Head
Labels: -Type-Bug -Restrict-View-EditIssue Security_Severity-Medium Restrict-View-SecurityTeam Type-Bug-Security
Owner: rsleevi@chromium.org
Status: Assigned (was: Untriaged)
Sorry this was incorrectly marked in mass update, this has security implications.
Components: Internals>Network>SSL
Owner: davidben@chromium.org
Project Member

Comment 5 by sheriffbot@chromium.org, Oct 26 2016

Labels: Pri-1
Looks like this is just a bug in the fuzzer:

      SSL_CTX_set1_curves(ctx, reinterpret_cast<const int *>(curves.data()),
                          curves.size());

should be:

      SSL_CTX_set1_curves(ctx, reinterpret_cast<const int *>(curves.data()),
                          curves.size() / sizeof(int));

I'll go fix that.
Status: Started (was: Assigned)
https://boringssl-review.googlesource.com/c/11840/
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://boringssl.googlesource.com/boringssl.git/+/9415a14acf8ea9e84118f1b1ab1f0d97a3de1d19

commit 9415a14acf8ea9e84118f1b1ab1f0d97a3de1d19
Author: David Benjamin <davidben@google.com>
Date: Wed Oct 26 13:58:16 2016

Fix SSL_CTX_set1_curves fuzzer.

SSL_CTX_set1_curves was being called with the size of the input data in
bytes rather than in ints.

BUG= chromium:659361 

Change-Id: I90da1c6d60e92423c6b7d9efd744ae70ff589172
Reviewed-on: https://boringssl-review.googlesource.com/11840
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>

[modify] https://crrev.com/9415a14acf8ea9e84118f1b1ab1f0d97a3de1d19/fuzz/ssl_ctx_api.cc

Status: Fixed (was: Started)
Fix should be picked up in the next BoringSSL roll.

(This doesn't have security impact. It was a bug in the fuzzer itself. The API in question also isn't used in Chromium and is not usually used with attacker-controlled input. Still good to fuzz such things, of course.)
Project Member

Comment 10 by sheriffbot@chromium.org, Oct 27 2016

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: Security_Impact-Head M-56

Comment 12 by agl@chromium.org, Oct 28 2016

 Issue 660514  has been merged into this issue.
Project Member

Comment 13 by ClusterFuzz, Oct 29 2016

ClusterFuzz has detected this issue as fixed in range 428469:428574.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5795514852573184

Fuzzer: libfuzzer_boringssl_ssl_ctx_api_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: Stack-buffer-overflow READ 4
Crash Address: 0x7f55cb34e439
Crash State:
  tls1_set_curves
  SSL_CTX_set1_curves
  $_32::operator
  
Recommended Security Severity: Medium

Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=426164:426214
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_asan_debug&range=428469:428574

Minimized Testcase (0.16 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95CHTC-IrId4mKTYgAjhhVBrWvHIpvFo2Fv6LY9fvW97z-P_K2KoRjjma041q5an7yfvHptrhV-OPf3FRPVHPzRxWggs16vEFjUEbeuPwQbde9UQgGUXWBVFXQNcrlCnfxfGSAz7ju2ngkrGCJLug6mxul0Ug?testcase_id=5795514852573184

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 14 by sheriffbot@chromium.org, Feb 2 2017

Labels: -Restrict-View-SecurityNotify allpublic
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: mmenke@chromium.org

Sign in to add a comment