New issue
Advanced search Search tips

Issue 654275 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: ----
Type: Bug



Sign in to add a comment

AppVerifier failure after PageHeap enabled

Reported by petermb...@gmail.com, Oct 9 2016

Issue description

This template is ONLY for reporting security bugs. If you are reporting a
Download Protection Bypass bug, please use the "Security - Download
Protection" template. For all other reports, please use a different
template.

Please READ THIS FAQ before filing a bug: https://www.chromium.org/Home
/chromium-security/security-faq

Please see the following link for instructions on filing security bugs:
http://www.chromium.org/Home/chromium-security/reporting-security-bugs

NOTE: Security bugs are normally made public once a fix has been widely
deployed.

VULNERABILITY DETAILS
Please provide a brief explanation of the security issue.

Access violation while writing using a NULL ptr

VERSION
Chrome Version: chrome.exe: 53.0.2785.143 ,ntdll.dll: 10.0.10586.0
Operating System: Windows 10 Home, Version 10.0.10586 Build 10586

REPRODUCTION CASE

Open Chrome with a debugger (in my case, I opened it using BugId (https://github.com/SkyLined/BugId)which uses cdb.exe using this command : BugId.py --bSaveReport=true "C:\Program Files (x86) \Google\Chrome\Application\chrome.exe". The crash will happen shortly after the application starts. (find crash info attached)

FOR CRASHES, PLEASE INCLUDE THE FOLLOWING ADDITIONAL INFORMATION
Type of crash: [tab, browser, etc.]
Crash State: [see link above: stack trace, registers, exception record]
Client ID (if relevant): [see link above]

 
AVW.NULL+0x24 a0c.358 @ chrome.exe!ntdll.dll!LdrGetDllPath.html
37.2 KB View Download
Labels: -Type-Bug-Security -Restrict-View-SecurityTeam Needs-Feedback OS-Windows Type-Bug
Summary: Near-null AV when debugger attached (was: Security: Access violation while writing using a NULL ptr)
Does this problem reproduce *only* when a debugger is attached? Any debugger, or only cdb? Can you attach or point to a .DMP file?

Removing security flags; Denial-of-service issues are not considered security bugs https://www.chromium.org/Home/chromium-security/security-faq#TOC-Are-denial-of-service-issues-considered-security-bugs-


.dmp attached.

No, does not reproduce *only* when debugger is attached. Windbg is my post-mortem debugger and it kicks in by even just opening chrome.
chrome.dmp
42.9 KB Download
Cc: rbasuvula@chromium.org elawrence@chromium.org
@elawrence

Could you please look in to this issue.

I suspect the issue here is that when you ran BugId, it set Application Verifier flags on Chrome.exe using gflags, and one of those Verifier checks is now failing. See https://github.com/SkyLined/BugId/blob/cf688be6973c850cfc6bc4b34e9e01ff74f8e9c9/PageHeap-Chrome.cmd for where BugId does that.

If you run gflags.exe and go to the Image File tab, put chrome.exe in the box at the top and tab out of it, do you find that the "Page Heap" box is checked? If so, uncheck it.

I suspect the crash is occurring because you've got Page Heap enabled without the CHROME_ALLOCATOR set to winheap, an incompatible combination.
Summary: AppVerifier failure after PageHeap enabled (was: Near-null AV when debugger attached)

CONTEXT:  (.ecxr)
rax=0000000000000000 rbx=00007ffec4b065ee rcx=0000000000000000
rdx=0000000000000000 rsi=00007ffec4bf27e4 rdi=000000682abfef70
rip=00007ffec4b788ea rsp=000000682abfef50 rbp=000000000000001e
 r8=00007ffe00001f80  r9=00007ffe9aba7a75 r10=00007ffe9aba6d8a
r11=00007ffe9aba712d r12=0000000000000000 r13=0000000000000001
r14=000000682abff0a0 r15=00000000000006b4
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000204
ntdll!KiRaiseUserExceptionDispatcher+0x3a:
00007ffe`c4b788ea 8b8424c0000000  mov     eax,dword ptr [rsp+0C0h] ss:00000068`2abff010=c0000008
Resetting default scope

FAULTING_IP: 
ntdll!KiRaiseUserExceptionDispatcher+3a
00007ffe`c4b788ea 8b8424c0000000  mov     eax,dword ptr [rsp+0C0h]

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffec4b788ea (ntdll!KiRaiseUserExceptionDispatcher+0x000000000000003a)
   ExceptionCode: c0000008 (Invalid handle)
  ExceptionFlags: 00000000
NumberParameters: 0
Thread tried to close a handle that was invalid or illegal to close

PROCESS_NAME:  chrome.exe

ERROR_CODE: (NTSTATUS) 0xc0000008 - An invalid HANDLE was specified.

EXCEPTION_CODE: (NTSTATUS) 0xc0000008 - An invalid HANDLE was specified.

EXCEPTION_CODE_STR:  c0000008

WATSON_BKT_PROCSTAMP:  57e76668

WATSON_BKT_PROCVER:  53.0.2785.143

WATSON_BKT_MODULE:  ntdll.dll

WATSON_BKT_MODSTAMP:  5632d193

WATSON_BKT_MODOFFSET:  a88ea

WATSON_BKT_MODVER:  6.2.10586.0

MODULE_VER_PRODUCT:  Microsoft® Windows® Operating System

MODLIST_WITH_TSCHKSUM_HASH:  441bb73872d66203bb7a25d1ea93148559898a1a

MODLIST_SHA1_HASH:  016ab86bc510d490f380212d0f5b375a2e669c73

DUMP_FLAGS:  0

DUMP_TYPE:  2

APPLICATION_VERIFIER_LOADED: 1

APP:  chrome.exe

ANALYSIS_SESSION_HOST:  ELAWRENCE0-W

ANALYSIS_SESSION_TIME:  10-13-2016 10:10:16.0107

ANALYSIS_VERSION: 10.0.10586.567 x86fre

THREAD_ATTRIBUTES: 
PROBLEM_CLASSES: 




    Tid    [0x0]
    Frame  [0x00]
    String [STATUS_INVALID_HANDLE]
    Data Bucketing



AVRF
    Tid    [0x998]
    Frame  [0x00]: ntdll!KiRaiseUserExceptionDispatcher
    Failure Bucketing


BUGCHECK_STR:  STATUS_INVALID_HANDLE_AVRF

DEFAULT_BUCKET_ID:  STATUS_INVALID_HANDLE_AVRF

LAST_CONTROL_TRANSFER:  from 00007ffec4a7cf28 to 00007ffec4b788ea

STACK_TEXT:  
00000068`2abfef50 00007ffe`c4a7cf28 : 00000000`00000028 00000000`00000000 0000018e`1d9e0000 00000000`00000998 : ntdll!KiRaiseUserExceptionDispatcher+0x3a
00000068`2abff020 00007ffe`c127ee78 : 00000000`00000034 00000068`2abff320 0000018e`2475a618 00007ffe`c4a7e4cf : verifier!AVrfpNtSetInformationFile+0x58
00000068`2abff070 00000000`00000034 : 00000068`2abff320 0000018e`2475a618 00007ffe`c4a7e4cf 0000018e`0000001e : KERNELBASE+0x5ee78
00000068`2abff078 00000068`2abff320 : 0000018e`2475a618 00007ffe`c4a7e4cf 0000018e`0000001e 00007ffe`c4a849b2 : 0x34
00000068`2abff080 0000018e`2475a618 : 00007ffe`c4a7e4cf 0000018e`0000001e 00007ffe`c4a849b2 00000000`00000034 : 0x00000068`2abff320
00000068`2abff088 00007ffe`c4a7e4cf : 0000018e`0000001e 00007ffe`c4a849b2 00000000`00000034 0000018e`2475a618 : 0x0000018e`2475a618
00000068`2abff090 00007ffe`c4af21cb : 00000000`00000000 00007ffe`9abdb8b8 0000018e`2475a5f0 00000000`00000034 : verifier!AVrfpLeaveHeapCall+0x1f
00000068`2abff0c0 00000000`00000000 : 0000018e`1d9e0000 00007ffe`c4a61cec 0000018e`1da49fc0 00007ffe`009185e9 : ntdll!RtlpFreeHeap+0x9b


THREAD_SHA1_HASH_MOD_FUNC:  43e5de0d5b72fde8ce75239df07f7898d19f36b8

THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  ff1b8bbd6830080a970efdcbcf9df2cd70bea1ec

THREAD_SHA1_HASH_MOD:  20624d9f9b8e919578fc37502bc960a5e2f3a988

FOLLOWUP_IP: 
verifier!AVrfpNtSetInformationFile+58
00007ffe`c4a7cf28 833d9dc0010000  cmp     dword ptr [verifier!AVrfIoCheckEnabled (00007ffe`c4a98fcc)],0

FAULT_INSTR_CODE:  c09d3d83

SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  verifier!AVrfpNtSetInformationFile+58

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: verifier

IMAGE_NAME:  verifier.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  5632d84f

STACK_COMMAND:  .ecxr ; kb

BUCKET_ID:  STATUS_INVALID_HANDLE_AVRF_verifier!AVrfpNtSetInformationFile+58

PRIMARY_PROBLEM_CLASS:  STATUS_INVALID_HANDLE_AVRF_verifier!AVrfpNtSetInformationFile+58

BUCKET_ID_OFFSET:  58

BUCKET_ID_MODULE_STR:  verifier

BUCKET_ID_MODTIMEDATESTAMP:  5632d84f

BUCKET_ID_MODCHECKSUM:  5b53a

BUCKET_ID_MODVER_STR:  6.2.10586.0

BUCKET_ID_PREFIX_STR:  STATUS_INVALID_HANDLE_AVRF_

FAILURE_PROBLEM_CLASS:  STATUS_INVALID_HANDLE_AVRF

FAILURE_EXCEPTION_CODE:  c0000008

FAILURE_IMAGE_NAME:  verifier.dll

FAILURE_FUNCTION_NAME:  AVrfpNtSetInformationFile

BUCKET_ID_FUNCTION_STR:  AVrfpNtSetInformationFile

FAILURE_SYMBOL_NAME:  verifier.dll!AVrfpNtSetInformationFile

FAILURE_BUCKET_ID:  STATUS_INVALID_HANDLE_AVRF_c0000008_verifier.dll!AVrfpNtSetInformationFile

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/chrome.exe/53.0.2785.143/57e76668/ntdll.dll/6.2.10586.0/5632d193/c0000008/000a88ea.htm?Retriage=1

TARGET_TIME:  2016-10-10T17:19:44.000Z

OSBUILD:  9200

OSSERVICEPACK:  0

SERVICEPACK_NUMBER: 0

OS_REVISION: 0

SUITE_MASK:  768

PRODUCT_TYPE:  1

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 8

OSEDITION:  Windows 8 WinNt SingleUserTS Personal

OS_LOCALE:  

USER_LCID:  0

OSBUILD_TIMESTAMP:  2015-10-29 21:27:54

ANALYSIS_SESSION_ELAPSED_TIME: 17a29

ANALYSIS_SOURCE:  UM

FAILURE_ID_HASH_STRING:  um:status_invalid_handle_avrf_c0000008_verifier.dll!avrfpntsetinformationfile

FAILURE_ID_HASH:  {eda9cc61-d261-3740-63ae-c01f9e7a839c}

Followup:     MachineOwner
---------

0:003> ~*kp

   0  Id: 75c.ac4 Suspend: 1 Teb: 00000068`2a648000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2a5ae5a8 00007ffe`c4a80898 ntdll!NtWaitForSingleObject+0x14
01 00000068`2a5ae5b0 00007ffe`c123aadf verifier!AVrfpNtWaitForSingleObject+0x38
02 00000068`2a5ae5e0 00000000`000007e8 KERNELBASE+0x1aadf
03 00000068`2a5ae5e8 00000000`00000000 0x7e8

   1  Id: 75c.df4 Suspend: 1 Teb: 00000068`2a64a000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2a8ffb48 00007ffe`c4a7cae2 ntdll!NtRemoveIoCompletion+0x14
01 00000068`2a8ffb50 00007ffe`c1271782 verifier!AVrfpNtRemoveIoCompletion+0x62
02 00000068`2a8ffba0 00000068`2a8ffc38 KERNELBASE+0x51782
03 00000068`2a8ffba8 00000068`2a8ffd00 0x00000068`2a8ffc38
04 00000068`2a8ffbb0 00000000`00000000 0x00000068`2a8ffd00

   2  Id: 75c.458 Suspend: 1 Teb: 00000068`2a64e000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2aaff9e8 00007ffe`c4afb2e8 ntdll!NtWaitForWorkViaWorkerFactory+0x14
01 00000068`2aaff9f0 00007ffe`c2328102 ntdll!TppWorkerThread+0x298
02 00000068`2aaffe00 00007ffe`c4b2c264 kernel32!BaseThreadInitThunk+0x22
03 00000068`2aaffe30 00000000`00000000 ntdll!RtlUserThreadStart+0x34

#  3  Id: 75c.998 Suspend: 1 Teb: 00000068`2a650000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2abfef50 00007ffe`c4a7cf28 ntdll!KiRaiseUserExceptionDispatcher+0x3a
01 00000068`2abff020 00007ffe`c127ee78 verifier!AVrfpNtSetInformationFile+0x58
02 00000068`2abff070 00000000`00000034 KERNELBASE+0x5ee78
03 00000068`2abff078 00000068`2abff320 0x34
04 00000068`2abff080 0000018e`2475a618 0x00000068`2abff320
05 00000068`2abff088 00007ffe`c4a7e4cf 0x0000018e`2475a618
06 00000068`2abff090 00007ffe`c4af21cb verifier!AVrfpLeaveHeapCall+0x1f
07 00000068`2abff0c0 00000000`00000000 ntdll!RtlpFreeHeap+0x9b

   4  Id: 75c.11ec Suspend: 1 Teb: 00000068`2a652000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2acff978 00000000`00000000 ntdll!RtlUserThreadStart

   5  Id: 75c.604 Suspend: 0 Teb: 00000068`2a654000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000068`2adffc68 00000000`00000000 ntdll!RtlUserThreadStart

"If you run gflags.exe and go to the Image File tab, put chrome.exe in the box at the top and tab out of it, do you find that the "Page Heap" box is checked? If so, uncheck it" --this was not the case. Page heap was not checked, however it was checked in the system registry.

This issue can be closed. 
Thanks
Labels: -Needs-Feedback
Status: WontFix (was: Unconfirmed)
There are two gflags.exe builds, one looks at the 64bit registry and one looks at the 32bit registry. Looks like you got it cleaned up, either way.

Sign in to add a comment