Microsoft Internet Explorer での Direct Animation Path Control に関するアラート (セキュリティホール memo)
というわけで、daxctle.ocx の killbit を指定して Direct Animation ActiveX コントロールを無効にするスクリプトを書こうと思ったんだけど、daxctle.ocx の CLSID がわかんない orz
Microsoft Security Advisory (925444): Vulnerability in the Microsoft DirectAnimation Path ActiveX Control Could Allow Remote Control Execution (日本語版)によると、CLSID は {D7A7D7C3-D47F-11D0-89D3-00A0C90833E6} でよいっぽいんだけど、なぜか手元の1台では {369303C2-D7AC-11D0-89D5-00A0C90833E6} ってのがあるし、別の1台では {D7A7D7C3…} はないけど {139DD5D1-D6E2-11D0-89D4-00A0C90833E6} というのがある(これは関係ないっぽいけど)…。
適当な名前.vbs として保存して実行すれば、killbit を設定して daxctle.ocx を無効にします。自己責任でどうぞ。
Sub SetKillBit( CLSID ) const HKEY_CLASSES_ROOT = &H80000000 const HKEY_LOCAL_MACHINE = &H80000002 strKeyPath = "SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\" & CLSID strValueName = "Compatibility Flags" strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") 'Get display name of CLSID oReg.GetStringValue HKEY_CLASSES_ROOT, "CLSID\" & CLSID, "", strClsidName If IsNull(strClsidName) Then strClsidName = CLSID End If 'Get current setting oReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue If IsNull(dwValue) Then MsgBox strClsidName & " is not installed." Else If dwValue = &H400 Then MsgBox strClsidName & " is already disabled." Else If MsgBox( strClsidName & ":" & Chr(13) & _ "Are you sure to disable ActiveX control ?", 4 ) <> 6 Then Exit Sub End If 'backup old value oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName & "-",dwValue dwValue = &H400 oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue oReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwValue If dwValue = &H400 Then MsgBox "Complete to disable ActiveX control:" & strClsidName Else MsgBox "Failure to disable ActiveX control:" & strClsidName End If End If End If End Sub Call SetKillBit( "{D7A7D7C3-D47F-11D0-89D3-00A0C90833E6}" )