New issue
Advanced search Search tips

Issue 847760 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

CHECK failure: !flat_index || flat_index->n() == kNGramSize in url_pattern_index.cc

Project Member Reported by ClusterFuzz, May 30 2018

Issue description

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

Fuzzer: libFuzzer_indexed_ruleset_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  !flat_index || flat_index->n() == kNGramSize in url_pattern_index.cc
  url_pattern_index::UrlPatternIndexMatcher::UrlPatternIndexMatcher
  subresource_filter::IndexedRulesetMatcher::IndexedRulesetMatcher
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=562610:562687

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, May 30 2018

Components: UI>Browser>AdFilter
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, May 30 2018

Cc: csharrison@chromium.org
Labels: ClusterFuzz-Auto-CC
Automatically adding ccs based on OWNERS file / target commit history.

If this is incorrect, please add ClusterFuzz-Wrong label.
Project Member

Comment 3 by ClusterFuzz, May 30 2018

Labels: Test-Predator-Auto-Owner
Owner: csharrison@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/c3af72154b2e03dd1f48f46e20d100e306936b29 (Add a fuzzer for the indexed ruleset).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Project Member

Comment 4 by bugdroid1@chromium.org, May 31 2018

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

commit b52f046bf92f8eaa9b60888584bc8f8a7ab11e3a
Author: Charlie Harrison <csharrison@chromium.org>
Date: Thu May 31 13:27:48 2018

Indexed ruleset fuzzer changes

The current fuzzer is too strong: it simulates us handling arbitrary
file corruption happening to the indexed ruleset. This is possible, but
we don't have a great way of defending against it in-depth without a
series of wack-a-mole fixes.

Instead, this fuzzer has taught us that we really should be implementing
a more robust error detection mechanism. I've filed crbug.com/847933
to implement storing a checksum alongside the written file, so we
can be sure has the exact contents as when written.

Because of this expected change, the fuzzer as written is less
interesting. We don't really care about arbitrary corruption anymore.

Instead, this fuzzer now fuzzes the UnindexedRuleset we receive from
the component updater. We write an indexed ruleset based on that data,
and read into it. This new fuzzer will help us in the event that the
component updater pushes bad data.

Bug:  847760 
Change-Id: I536d05bb64e9f1a2625a3e4b468aed9968285a3f
Reviewed-on: https://chromium-review.googlesource.com/1079754
Commit-Queue: Charlie Harrison <csharrison@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Reviewed-by: Josh Karlin <jkarlin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563205}
[modify] https://crrev.com/b52f046bf92f8eaa9b60888584bc8f8a7ab11e3a/components/subresource_filter/core/common/indexed_ruleset_fuzzer.cc

Status: WontFix (was: Assigned)
Project Member

Comment 6 by ClusterFuzz, Jun 1 2018

ClusterFuzz has detected this issue as fixed in range 563201:563210.

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

Fuzzer: libFuzzer_indexed_ruleset_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  !flat_index || flat_index->n() == kNGramSize in url_pattern_index.cc
  url_pattern_index::UrlPatternIndexMatcher::UrlPatternIndexMatcher
  subresource_filter::IndexedRulesetMatcher::IndexedRulesetMatcher
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=562610:562687
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=563201:563210

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

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.

Sign in to add a comment