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

Issue 601787 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Last visit 15 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Integer-overflow in WebRtcSpl_CrossCorrelationC

Project Member Reported by ClusterFuzz, Apr 8 2016

Issue description

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

Fuzzer: libfuzzer_audio_decoder_ilbc_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  WebRtcSpl_CrossCorrelationC
  WebRtcIlbcfix_MyCorr
  WebRtcIlbcfix_Refiner
  

Minimized Testcase (0.40 Kb): https://cluster-fuzz.appspot.com/download/AMIfv95XWP1MaYSFJMef1LRG6y7j7iC3Usa0zlUcMcOPtFjTVKaj3-1xnP7xIi1NexRTVtPGBUsMIdqoGNAV0xar5kMrNMsjh-V17fVgYYvaOp2PZjoduvCocH5DnSVFN6VsBPXGZOfjiQvneKf5afQREYoA-VpAYQ

Filer: mmoroz

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: mmoroz@chromium.org kcc@chromium.org aizatsky@chromium.org
Components: Blink>WebRTC>Audio
Owner: pbos@chromium.org

Comment 2 by pbos@chromium.org, Apr 11 2016

Cc: pbos@chromium.org hlundin@chromium.org
Owner: kwiberg@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/a10740239dd0f40f54d65288055e128496e2da3f

commit a10740239dd0f40f54d65288055e128496e2da3f
Author: kwiberg <kwiberg@webrtc.org>
Date: Wed Jun 08 12:24:40 2016

Fix UBSan errors (signed integer overflow)

WebRtcSpl_CrossCorrelation and WebRtcSpl_DotProductWithScale compute
the int32 sum of pairwise products from two int16 arrays. So as to
avoid overflow (which could otherwise happen when as little as two
products were summed), the products are right-shifted by an amount
specified by the caller.

This CL changes WebRtcIlbcfix_MyCorr and WebRtcIlbcfix_Smooth to give
sufficient right-shift amounts, instead of ones that may be too small
and cause overflow.

BUG= chromium:601787 

Review-Url: https://codereview.webrtc.org/2014033002
Cr-Commit-Position: refs/heads/master@{#13066}

[modify] https://crrev.com/a10740239dd0f40f54d65288055e128496e2da3f/webrtc/modules/audio_coding/codecs/ilbc/my_corr.c
[modify] https://crrev.com/a10740239dd0f40f54d65288055e128496e2da3f/webrtc/modules/audio_coding/codecs/ilbc/smooth.c

Status: Fixed (was: Assigned)
The CLs in comment 3 and comment 5 fix the problem for me when I test locally.
Project Member

Comment 7 by ClusterFuzz, Jun 11 2016

ClusterFuzz has detected this issue as fixed in range 398351:399229.

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

Fuzzer: libfuzzer_audio_decoder_ilbc_fuzzer
Job Type: libfuzzer_chrome_ubsan
Platform Id: linux

Crash Type: Integer-overflow
Crash Address: 
Crash State:
  WebRtcSpl_CrossCorrelationC
  WebRtcIlbcfix_MyCorr
  WebRtcIlbcfix_Refiner
  
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_ubsan&range=398351:399229

Minimized Testcase (0.40 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97SXeFIrqqU6F6_IMQfgvjDpQJ9fDIUdpNY956afCZEumACDOv6MFNZSdV_9cUkeK02QzD7zzNU5bbcqzgWBOC5S3TRoW-WErgHFL1An2d6HpOkqep8p6VczTx_bG0btWCBHS__8R9kwfy9xhn8_9FBYVB2OQ

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 8 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