IOBit Advanced SystemCare Utimate DOS Vulnerability

Basic Info

Vendor: IOBit

Software:

Vulnerable Component:

Vuln Type: Null Pointer Dereference

Description:

AscRegistryFilter.sys allows all users in Everyone Group to interact with it. When process IOCTL 0x8001E01C, it doesn't check the address of the input buffer, an attacker with low privilege can trigger this vulnerability and cause BSOD in the Windows system.

Proof Of Concept

Test OS Version: Windows 10, 19041.vb_release.191206-1406

  1. click poc.exe to trigger this issue
  2. cause a BSOD of Windows system
CONTEXT:  ffff808cd80ded80 -- (.cxr 0xffff808cd80ded80)
rax=0000000000000000 rbx=0000000000000000 rcx=ffff808cd80df7fb
rdx=00007f7327f20808 rsi=0000000000000000 rdi=0000000000000000
rip=fffff806743a3ca3 rsp=ffff808cd80df788 rbp=0000000000000000
 r8=0000000000000004  r9=00000000756c7466 r10=fffff806743a16c4
r11=ffff808cd80df7f8 r12=ffffd702f40a8510 r13=ffffd702f1b7b700
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na pe nc
cs=0010  ss=0018  ds=002b  es=002b  fs=0053  gs=002b             efl=00050282
AscRegistryFilter+0x3ca3:
fffff806`743a3ca3 8a040a          mov     al,byte ptr [rdx+rcx] ds:002b:00000000`00000003=??
Resetting default scope
​
PROCESS_NAME:  poc.exe
​
STACK_TEXT:
ffff808c`d80df788 fffff806`743a1a31 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff806`59e5a2c1 : AscRegistryFilter+0x3ca3
ffff808c`d80df790 fffff806`59a49cf5 : 00000000`00000002 00000000`00000000 ffffd702`f6621a90 00000000`00000000 : AscRegistryFilter+0x1a31
ffff808c`d80df7f0 fffff806`59e592ac : 00000000`00000001 00000000`8001e01c ffffd702`f6621a90 00000000`00000000 : nt!IofCallDriver+0x55
ffff808c`d80df830 fffff806`59e58f03 : ffffd702`00000000 ffff808c`d80dfb80 00000000`00010000 00000000`8001e01c : nt!IopSynchronousServiceTail+0x34c
ffff808c`d80df8d0 fffff806`59e581d6 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!IopXxxControlFile+0xd13
ffff808c`d80dfa20 fffff806`59c25235 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`0014edb8 : nt!NtDeviceIoControlFile+0x56
ffff808c`d80dfa90 00007ffa`f510d0c4 : 00007ffa`f2b2591b 00000002`0000000c 00007ffa`f50c0101 0000cfc9`fa4a81a6 : nt!KiSystemServiceCopyEnd+0x25
00000000`0014fdc8 00007ffa`f2b2591b : 00000002`0000000c 00007ffa`f50c0101 0000cfc9`fa4a81a6 00007ffa`f2fd5985 : ntdll!NtDeviceIoControlFile+0x14
00000000`0014fdd0 00007ffa`f3295921 : 00000000`8001e01c 00000000`00000000 00000000`0014fe60 00007ffa`00000000 : KERNELBASE!DeviceIoControl+0x6b
00000000`0014fe40 00007ff6`089810fc : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : KERNEL32!DeviceIoControlImplementation+0x81
00000000`0014fe90 00007ff6`08981350 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : poc!main+0x8c

attachment

AscRegistryFilter.sys