New issue
Advanced search Search tips

Issue 785216 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Null-dereference READ in net::X509Certificate::GetSubjectAltName

Project Member Reported by ClusterFuzz, Nov 15 2017

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5129420401803264

Fuzzer: libFuzzer_net_quic_stream_factory_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x0000000001b0
Crash State:
  net::X509Certificate::GetSubjectAltName
  net::X509Certificate::VerifyNameMatch
  net::MockCryptoClientStream::CryptoConnect
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=516118:516143

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5129420401803264

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Nov 15 2017

Components: Internals>Network>Certificate Internals>Network>QUIC
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Nov 15 2017

Labels: Test-Predator-Auto-Owner
Owner: rch@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/0a9f0146134281c2e2be635f90bfae1acaaffdc0 (Add proof verification details to quic_stream_factory_fuzzer.cc).

If this is incorrect, please remove the owner and apply the Test-Predator-Wrong-CLs label.
Cc: b...@chromium.org
In this case, the fuzzer can't load the cert because the certs aren't copied. 

Suggestions:
1) Add CHECK/DCHECK to make sure certs are read from disk (this is good for all tests)
2) Add a solution like https://bugs.chromium.org/p/chromium/issues/detail?id=781846 (bnc@ added a script)

Comment 4 by rch@chromium.org, Nov 15 2017

rsleevi: thanks! That's the same conclusion reached in 

https://bugs.chromium.org/p/chromium/issues/detail?id=784865#c4

I'll fix this later today.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3e592e12cd54ba26fb2576bced629bdf88f09c0

commit e3e592e12cd54ba26fb2576bced629bdf88f09c0
Author: Ryan Hamilton <rch@chromium.org>
Date: Thu Nov 16 04:49:09 2017

Bundle the test certificate in the QUIC fuzzer at compile time.

Also rename the SPDY script and build target since it's now
shared with QUIC.

BUG= 784865 , 785216 

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Iab78013b32e3a7df8109370877a59a6c1427aa8b
Reviewed-on: https://chromium-review.googlesource.com/772781
Commit-Queue: Ryan Hamilton <rch@chromium.org>
Reviewed-by: Bence Béky <bnc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516992}
[modify] https://crrev.com/e3e592e12cd54ba26fb2576bced629bdf88f09c0/net/BUILD.gn
[modify] https://crrev.com/e3e592e12cd54ba26fb2576bced629bdf88f09c0/net/data/ssl/certificates/BUILD.gn
[rename] https://crrev.com/e3e592e12cd54ba26fb2576bced629bdf88f09c0/net/data/ssl/scripts/generate-fuzzer-cert-include.py
[modify] https://crrev.com/e3e592e12cd54ba26fb2576bced629bdf88f09c0/net/quic/chromium/quic_stream_factory_fuzzer.cc

Project Member

Comment 6 by ClusterFuzz, Nov 16 2017

ClusterFuzz has detected this issue as fixed in range 516983:516997.

Detailed report: https://clusterfuzz.com/testcase?key=5129420401803264

Fuzzer: libFuzzer_net_quic_stream_factory_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x0000000001b0
Crash State:
  net::X509Certificate::GetSubjectAltName
  net::X509Certificate::VerifyNameMatch
  net::MockCryptoClientStream::CryptoConnect
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=516118:516143
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=516983:516997

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5129420401803264

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.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 7 by ClusterFuzz, Nov 16 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 5129420401803264 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment