New issue
Advanced search Search tips

Issue 789113 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 62400



Sign in to add a comment

Global-buffer-overflow in CXFA_Node::NameToElement

Project Member Reported by ClusterFuzz, Nov 28 2017

Issue description

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

Fuzzer: libFuzzer_pdfium_xfa_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Global-buffer-overflow READ 4
Crash Address: 0x0000039868f8
Crash State:
  CXFA_Node::NameToElement
  CXFA_SimpleParser::NormalLoader
  CXFA_SimpleParser::ParseAsXDPPacket_TemplateForm
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=519355:519387

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Nov 28 2017

Components: Internals>Plugins>PDF
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, Nov 28 2017

Labels: Test-Predator-Auto-Owner
Owner: dsinclair@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://pdfium.googlesource.com/pdfium/+/f473672fd6305fe97c749bde3b92e3c9c90e88d0 (Generate XFA node classes).

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

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

Labels: M-64
Project Member

Comment 4 by sheriffbot@chromium.org, Nov 28 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
Project Member

Comment 5 by sheriffbot@chromium.org, Nov 28 2017

Labels: Pri-1
Blocking: 62400
Cc: rharrison@chromium.org
Labels: -Security_Impact-Head -ReleaseBlock-Stable -M-64 Security_Impact-None ReleaseBlock-NA
XFA is not enabled on any branch of Chrome. Removing RB-Stable.
Status: Started (was: Assigned)
Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 28 2017

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/3ff28136fef69f1ecd81a9d0d8c278d7120d85f3

commit 3ff28136fef69f1ecd81a9d0d8c278d7120d85f3
Author: Dan Sinclair <dsinclair@chromium.org>
Date: Tue Nov 28 17:05:08 2017

[XFA] Fix reading off end of name list

When walking the Node name list, we need to verify the element returned
is not the end element, not just if the element is not null.

Bug:  chromium:789113 
Change-Id: I04c33a8f2066891e6031035e469c677c404fd724
Reviewed-on: https://pdfium-review.googlesource.com/19670
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>

[modify] https://crrev.com/3ff28136fef69f1ecd81a9d0d8c278d7120d85f3/xfa/fxfa/parser/cxfa_node_statics.cpp

Project Member

Comment 10 by ClusterFuzz, Nov 29 2017

ClusterFuzz has detected this issue as fixed in range 519747:519798.

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

Fuzzer: libFuzzer_pdfium_xfa_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Global-buffer-overflow READ 4
Crash Address: 0x0000039868f8
Crash State:
  CXFA_Node::NameToElement
  CXFA_SimpleParser::NormalLoader
  CXFA_SimpleParser::ParseAsXDPPacket_TemplateForm
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=519355:519387
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=519747:519798

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

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

Comment 11 by ClusterFuzz, Nov 29 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 5341594940342272 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 12 by sheriffbot@chromium.org, Nov 29 2017

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

Comment 13 by sheriffbot@chromium.org, Nov 29 2017

Labels: -ReleaseBlock-NA
Cc: thestig@chromium.org tsepez@chromium.org dsinclair@chromium.org
 Issue 789333  has been merged into this issue.
Project Member

Comment 15 by sheriffbot@chromium.org, Mar 7 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

Sign in to add a comment