New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 603482 link

Starred by 0 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Jul 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Undefined-shift in CLD2::UTF8GenericPropertyBigOneByte

Project Member Reported by ClusterFuzz, Apr 14 2016

Issue description

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

Fuzzer: libfuzzer_language_detection_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Undefined-shift
Crash Address: 
Crash State:
  CLD2::UTF8GenericPropertyBigOneByte
  CLD2::GetUniHits
  CLD2::ScoreCJKScriptSpan
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=386932:386961

Minimized Testcase (0.00 Kb): https://cluster-fuzz.appspot.com/download/AMIfv969nuvejEB_d-zxCa2uyLSwnwzDs6LhssujIyqK-x6xZmmSUiJ6cz56cxqxwQn9H3SUmqmVg4qDVQ8G2J0GiE-my-SIYrbApA6xeyGLTCNCY2HmcT1kQHW5qnwGcXedh7kWbcGxprOHGoD3u1OPOAMD_EVghA

Filer: mmoroz

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by mmoroz@chromium.org, Apr 14 2016

Owner: andrewhayden@chromium.org
andrewhayden@, could you please take a look?

Comment 2 by mmoroz@chromium.org, Apr 14 2016

Cc: kcc@chromium.org aizatsky@chromium.org
Cc: andrewhayden@chromium.org
Labels: -Pri-1 Pri-2
Owner: riesa@chromium.org
I'm confused how this is a regression. CLD2 is unchanged since August 2015, and there is absolutely nothing in the regression range that looks like it could be related to this. I can't access the testcase link (for no good reason that I can imagine).

Anyhow here is the data from the crash:

third_party/cld_2/src/internal/utf8statetable.cc:300:18: runtime error: left shift of negative value -2
    #0 0x4e0174 in CLD2::UTF8GenericPropertyBigOneByte(CLD2::UTF8StateMachineObj const*, unsigned char const**, int*) third_party/cld_2/src/internal/utf8statetable.cc:300:18
    #1 0x4e4507 in CLD2::GetUniHits(char const*, int, int, CLD2::ScoringContext*, CLD2::ScoringHitBuffer*) third_party/cld_2/src/internal/cldutil.cc:224:19
    #2 0x4dd7b4 in CLD2::ScoreCJKScriptSpan(CLD2::LangSpan const&, CLD2::ScoringContext*, CLD2::DocTote*, std::__1::vector<CLD2::ResultChunk, std::__1::allocator<CLD2::ResultChunk> >*) third_party/cld_2/src/internal/scoreonescriptspan.cc:1192:23
    #3 0x4ddc72 in CLD2::ScoreOneScriptSpan(CLD2::LangSpan const&, CLD2::ScoringContext*, CLD2::DocTote*, std::__1::vector<CLD2::ResultChunk, std::__1::allocator<CLD2::ResultChunk> >*) third_party/cld_2/src/internal/scoreonescriptspan.cc:1327:5
    #4 0x4cc1c8 in CLD2::DetectLanguageSummaryV2(char const*, int, bool, CLD2::CLDHints const*, bool, int, CLD2::Language, CLD2::Language*, int*, double*, std::__1::vector<CLD2::ResultChunk, std::__1::allocator<CLD2::ResultChunk> >*, int*, bool*) third_party/cld_2/src/internal/compact_lang_det_impl.cc:1938:5
    #5 0x4c17ca in CLD2::ExtDetectLanguageSummaryCheckUTF8(char const*, int, bool, CLD2::CLDHints const*, int, CLD2::Language*, int*, double*, std::__1::vector<CLD2::ResultChunk, std::__1::allocator<CLD2::ResultChunk> >*, int*, bool*, int*) third_party/cld_2/src/internal/compact_lang_det.cc:339:19
    #6 0x42de68 in DetermineTextLanguage components/translate/core/language_detection/language_detection_util.cc:118:18
    #7 0x42de68 in translate::DeterminePageLanguage(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<unsigned short, base::string16_char_traits, std::__1::allocator<unsigned short> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) components/translate/core/language_detection/language_detection_util.cc:234

I would imagine that if this were a serious problem we would have known about it 6+ months ago, so I am dubious about Pri-1. Downgrading to Pri-2 and moving myself to CC and reassigning to Jason Riesa, who owns CLD2.
Status: Assigned (was: Available)
Project Member

Comment 5 by ClusterFuzz, Jul 12 2016

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

Fuzzer: libfuzzer_language_detection_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Undefined-shift
Crash Address: 
Crash State:
  CLD2::UTF8GenericPropertyBigOneByte
  CLD2::GetUniHits
  CLD2::ScoreCJKScriptSpan
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=395640:395746

Minimized Testcase (0.00 Kb): https://cluster-fuzz.appspot.com/download/AMIfv9557CmH7o7mLRFqZZKCUElP9LF8gkw4oNLhj0TpcXMoAfZ7tVCu9KrEiIXAR1CMR4hQ42ulR0bceqk5Jrux3lbLzf-TXLiNiAOWUEGDYVKXvQFnc8BJjgeyHqPTddvQdNXdLJtot9Ou9Fyg292ItgYbn-vldQ?testcase_id=5333430950952960

Filer: kavvaru

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

Comment 6 by ClusterFuzz, Jul 29 2016

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

Fuzzer: libfuzzer_language_detection_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Undefined-shift
Crash Address: 
Crash State:
  CLD2::UTF8GenericPropertyBigOneByte
  CLD2::GetUniHits
  CLD2::ScoreCJKScriptSpan
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=395640:395746

Minimized Testcase (0.00 Kb): https://cluster-fuzz.appspot.com/download/AMIfv9631u2Fu7KPTDd5UZVNXTt5NOdUuMtZraPo4DZqGKjwl9IAgbWYdmAnlVOemtQSi0bA-bDSdmuzhcMW9HNUtrVdS_2w3seoPMX7BNBBBivjtQl4TlDJd3McRqXxtl9HvLHU-MMAked33_YZF6h2tTIl0Srsdw?testcase_id=6269761982038016

Filer: rnimmagadda

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

@riesa: Could you please provide some update on this issue.

Thank you.
Status: WontFix (was: Assigned)
I think my comments in #3 still stand. We are also replacing CLD2 with CLD3 actively, so I'm marking this as WontFix. If you disagree, let me know. 

Issue 624904 is the launch tracker for the new feature, details on the timeline are there.
Project Member

Comment 9 by ClusterFuzz, Aug 13 2016

ClusterFuzz has detected this issue as fixed in range 411637:411850.

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

Fuzzer: libfuzzer_language_detection_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Undefined-shift
Crash Address: 
Crash State:
  CLD2::UTF8GenericPropertyBigOneByte
  CLD2::GetUniHits
  CLD2::ScoreCJKScriptSpan
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=395640:395746
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=411637:411850

Minimized Testcase (0.00 Kb): https://cluster-fuzz.appspot.com/download/AMIfv9631u2Fu7KPTDd5UZVNXTt5NOdUuMtZraPo4DZqGKjwl9IAgbWYdmAnlVOemtQSi0bA-bDSdmuzhcMW9HNUtrVdS_2w3seoPMX7BNBBBivjtQl4TlDJd3McRqXxtl9HvLHU-MMAked33_YZF6h2tTIl0Srsdw?testcase_id=6269761982038016

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 10 by sheriffbot@chromium.org, Nov 22 2016

Labels: -Restrict-View-EditIssue
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label.

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

Sign in to add a comment