マイクロソフト セキュリティ情報 MS10-069 の解析
MS10-069 - 重要Windows クライアント/サーバー ランタイム サブシステムの脆弱性により、特権が昇格される (2121546)
について解析を行いました。
mov eax,[L764FD46C] lea ecx,[edi+edi] push ecx add eax,00300000h push eax push [L764FD558] call [ntdll.dll!RtlAllocateHeap] |
旧コード1(XPSP3)
mov eax,[L764FD46C] lea ecx,[edi+edi+01h] push ecx add eax,00300000h push eax push [L764FD558] call [ntdll.dll!RtlAllocateHeap] |
新コード1(XPSP3)
L764D5819: cmp byte ptr [ebp+40h],00h jnz L764D58B8 mov edi,[ebp+1Ch] mov eax,[edi] shr eax,1 push eax push [L764FD46C] push [L764FD558] call [ntdll.dll!RtlAllocateHeap] cmp eax,esi mov [ebp+40h],eax jnz L764D584B |
旧コード2(XPSP3)
L764D5819: cmp byte ptr [ebp+40h],00h jnz L764D58B5 mov edi,[ebp+1Ch] push [edi] push [L764FD46C] push [L764FD558] call [ntdll.dll!RtlAllocateHeap] cmp eax,esi mov [ebp+40h],eax jnz L764D5848 |
新コード2(XPSP3)
どうもバッファ周りのバグみたいですね。
mov eax,[L5FFD7FA8] lea ecx,[edi+edi] push ecx mov ecx,[L5FFD7FB4] add ecx,00300000h push ecx push eax call [ntdll.dll!RtlAllocateHeap] |
オリジナルコード1(Win2000)
L5FFAA9AE: cmp byte ptr [ebp+40h],00h jnz L5FFAAA4F mov eax,[esi] mov ecx,[L5FFD7FB4] mov edx,[L5FFD7FA8] shr eax,1 push eax push ecx push edx call [ntdll.dll!RtlAllocateHeap] cmp eax,edi mov [ebp+40h],eax jnz L5FFAA9DF |
オリジナルコード2(Win2000)
Windows 2000にも該当コードがありました。
lea eax,[edi+edi+01h] push eax mov eax,[L5FFD7FB4] add eax,00300000h push eax nop mov eax,[L5FFD7FA8] push eax call [ntdll.dll!RtlAllocateHeap] |
修正コード1(Win2000)
L5FFAA9AE: cmp byte ptr [ebp+40h],00h jnz L5FFAAA4F mov eax,[esi] mov ecx,[L5FFD7FB4] mov edx,[L5FFD7FA8] mov eax,eax push eax push ecx push edx call [ntdll.dll!RtlAllocateHeap] cmp eax,edi mov [ebp+40h],eax jnz L5FFAA9DF |
修正コード2(Win2000)
参考までに、ベースにしたのは、 winsrv.dll 5.0.2195.7148 です。
なお、セキュリティパッチは、Windows Legacy Update か
ら入手可能です。
Comments