New issue
Advanced search Search tips

Issue 776673 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Use-of-uninitialized-value in WebRtcNs_ProcessCore

Project Member Reported by ClusterFuzz, Oct 20 2017

Issue description

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

Fuzzer: libFuzzer_audio_processing_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  WebRtcNs_ProcessCore
  webrtc::NoiseSuppressionImpl::ProcessCaptureAudio
  webrtc::AudioProcessingImpl::ProcessCaptureStreamLocked
  
Sanitizer: memory (MSAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_msan&range=509885:509914

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Oct 20 2017

Labels: Test-Predator-AutoOwner
Owner: ale...@webrtc.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://webrtc.googlesource.com/src/+/9ce0c7a2d2b4e1f6f85b44dd6face675309e4f07 (Improving APM fuzzer coverage.).

If this is incorrect, please remove the owner and apply the Test-Predator-Wrong-CLs label.

Comment 2 by kenrb@chromium.org, Oct 20 2017

Components: Blink>WebRTC>Audio
Labels: Pri-1
aleloi@: Are you able to triage this?

It could potentially be an issue with the fuzzer, if it is passing a buffer containing any uninitialized memory to the audio processing interface. In that case we would remove security labels.
Project Member

Comment 3 by sheriffbot@chromium.org, Oct 22 2017

Labels: M-63
Project Member

Comment 4 by sheriffbot@chromium.org, Oct 22 2017

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

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

Comment 5 by ale...@webrtc.org, Oct 23 2017

Owner: aleloi@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 23 2017

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

commit bd92d8dd2a593dd96d5289b4f9cfed08fabf611f
Author: Alex Loiko <aleloi@webrtc.org>
Date: Mon Oct 23 12:11:47 2017

Forgotten 'memset' in NoiseSuppression.

The 'parametricNoise' field is never initialized in the
'WebRtcNs_InitCore' function that initializes a 'NoiseSuppressionC'
struct.

This leads to use of unititialized value, which may affect the audio
output and result of the noise suppressor.

The issue was found by the Chrome fuzzer:
https://clusterfuzz.com/v2/testcase-detail/4749034115039232

Bug:  chromium:776673 
Change-Id: I1c3fd80cff178f2d5917064ad07f88c7b9a29e7d
Reviewed-on: https://webrtc-review.googlesource.com/14556
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20388}
[modify] https://crrev.com/bd92d8dd2a593dd96d5289b4f9cfed08fabf611f/modules/audio_processing/ns/ns_core.c

Project Member

Comment 7 by sheriffbot@chromium.org, Oct 23 2017

Labels: -Security_Impact-Head Security_Impact-Beta
Project Member

Comment 8 by ClusterFuzz, Oct 24 2017

ClusterFuzz has detected this issue as fixed in range 510931:510956.

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

Fuzzer: libFuzzer_audio_processing_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  WebRtcNs_ProcessCore
  webrtc::NoiseSuppressionImpl::ProcessCaptureAudio
  webrtc::AudioProcessingImpl::ProcessCaptureStreamLocked
  
Sanitizer: memory (MSAN)

Recommended Security Severity: Medium

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_msan&range=509885:509914
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_msan&range=510931:510956

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

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.

Comment 9 by aleloi@chromium.org, Oct 24 2017

Status: Fixed (was: Assigned)
Project Member

Comment 10 by ClusterFuzz, Oct 24 2017

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

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

Comment 11 by sheriffbot@chromium.org, Oct 24 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Labels: -ReleaseBlock-Stable M-64
Labels: -Test-Predator-AutoOwner Test-Predator-Auto-Owner
Project Member

Comment 14 by sheriffbot@chromium.org, Jan 30 2018

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
Project Member

Comment 15 by sheriffbot@chromium.org, Mar 27 2018

Labels: -Security_Impact-Beta -M-64 -M-63 M-65 Security_Impact-Stable

Sign in to add a comment