New issue
Advanced search Search tips

Issue 686128 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Security



Sign in to add a comment

Use-of-uninitialized-value in CRYPT_ArcFourSetup

Project Member Reported by ClusterFuzz, Jan 27 2017

Issue description

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

Fuzzer: libfuzzer_pdfium_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  CRYPT_ArcFourSetup
  CRYPT_ArcFourCryptBlock
  CPDF_SecurityHandler::CheckUserPassword
  
Sanitizer: memory (MSAN)

Recommended Security Severity: Medium

Minimized Testcase (0.93 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96ufun1hDf_GZaT39LVc5T74MI_w5CKN_JRNfSZK7NgKtyQ0Sniezg-PInXQ-LEAYSJE8y2EnBYLPMHG22UoaRHoqH1_S9hgpq_Wk-gcQ7BcoGONxKpZ7OrL5ISrLPEpU9iC46rFFNfLDQPT_NnEgI5UqRSRsq-Wwx153nmx2wdhaM_ZYgvd3b7MYukR4JhSbB953W2zWUgYKAmUvkbnbVd9aDFk6IQ1wUx_LgRbGZmQQ5zLC3tc15SLQwpb-F2sWFisk2yZelwDsmz0Wm92tKFSFGzQwx3EKaBs_FYQGvaNKidMRPJ1t5JUXKO5HxzqfC257rjwD1qTMzEuVpgjfLktYgyu5qW1O0F_N0YrJMyVhAhGiM?testcase_id=6581818276184064

Issue filed automatically.

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

Comment 1 by est...@chromium.org, Jan 27 2017

Components: Internals>Plugins>PDF
Owner: dsinclair@chromium.org
Status: Assigned (was: Untriaged)
dsinclair, could you please take a look?
Project Member

Comment 2 by sheriffbot@chromium.org, Jan 28 2017

Labels: M-56
Project Member

Comment 3 by sheriffbot@chromium.org, Jan 28 2017

Labels: Pri-1
Cc: dsinclair@chromium.org
Owner: tsepez@chromium.org
tsepez@ you were looking into some of this crypt code earlier, could this be related?
Project Member

Comment 5 by sheriffbot@chromium.org, Feb 11 2017

tsepez: Uh oh! This issue still open and hasn't been updated in the last 14 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

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

Comment 6 by sheriffbot@chromium.org, Feb 25 2017

tsepez: Uh oh! This issue still open and hasn't been updated in the last 28 days. This is a serious vulnerability, and we want to ensure that there's progress. Could you please leave an update with the current status and any potential blockers?

If you're not the right owner for this issue, could you please remove yourself as soon as possible or help us find the right one?

If the issue is fixed or you can't reproduce it, please close the bug. If you've started working on a fix, please set the status to Started.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
See also  bug 635046 .
Project Member

Comment 8 by sheriffbot@chromium.org, Mar 10 2017

Labels: -M-56 M-57
Project Member

Comment 9 by sheriffbot@chromium.org, Apr 20 2017

Labels: -M-57 M-58
tsepez@: Is this still on your radar?
Let's see if it still repros.  
Still repo'd but the information still doesn't make sense, in that the line it's pointing seems to use data that has been set earlier.
Labels: -Security_Severity-Medium Security_Severity-Low
Argh, use of key[0] when key length is 0.

 152	j = (j + a + key[k]) & 0xFF;

We only wrap around below:

155	    if (++k >= (int)length) {
156	      k = 0;

No harm, since we're trying to open a password protected document with an empty password, its going to fail either way -> sev low.
Cc: thestig@chromium.org
Project Member

Comment 15 by sheriffbot@chromium.org, May 2 2017

Labels: -Pri-1 Pri-2
Project Member

Comment 18 by bugdroid1@chromium.org, May 3 2017

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

commit 2085b16e601642b8c9da76e95c280efd7df35d45
Author: pdfium-deps-roller@chromium.org <pdfium-deps-roller@chromium.org>
Date: Wed May 03 03:45:22 2017

Roll src/third_party/pdfium/ d7188f7f9..cadb4711b (1 commit)

https://pdfium.googlesource.com/pdfium.git/+log/d7188f7f91a9..cadb4711bdc9

$ git log d7188f7f9..cadb4711b --date=short --no-merges --format='%ad %ae %s'
2017-05-02 thestig Add a unit test for CRYPT_ArcFourSetup().

Created with:
  roll-dep src/third_party/pdfium
BUG= 686128 


Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls


TBR=dsinclair@chromium.org

Change-Id: I36a220def9c931f30aac6fd561eb6698fe294981
Reviewed-on: https://chromium-review.googlesource.com/493838
Reviewed-by: <pdfium-deps-roller@chromium.org>
Commit-Queue: <pdfium-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#468885}
[modify] https://crrev.com/2085b16e601642b8c9da76e95c280efd7df35d45/DEPS

Project Member

Comment 19 by ClusterFuzz, May 3 2017

ClusterFuzz has detected this issue as fixed in range 468811:468856.

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

Fuzzer: libfuzzer_pdfium_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Use-of-uninitialized-value
Crash Address: 
Crash State:
  CRYPT_ArcFourSetup
  CRYPT_ArcFourCryptBlock
  CPDF_SecurityHandler::CheckUserPassword
  
Sanitizer: memory (MSAN)

Recommended Security Severity: Medium

Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_msan&range=468811:468856

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


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 20 by sheriffbot@chromium.org, May 3 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

Comment 21 by sheriffbot@chromium.org, Aug 9 2017

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
Labels: -M-58 M-60

Sign in to add a comment