7 月の .NET Framework 向けの更新プログラムを適用すると Classic ASP アプリケーション内での .NET Framework で開発された COM のインスタンス生成で問題が発生する可能性があります

こんにちは。Internet Information Services (IIS) サポートです。

今月公開いたしました .NET Framework 向けの更新プログラムを適用すると、後述の問題が発生する場合があることが確認できています。
本 Blog で現象の概要と、現時点で判明している対応策についてご案内します。

 

[ 問題の概要 ]
2018 年 7 月公開の .NET Framework 向けの更新プログラムを適用後、Classic ASP 内で .NET Framework で開発された COM オブジェクトのインスタンスを生成時に問題が発生し ASP アプリケーションが異常終了する場合があります。

現在影響の確認ができている更新プログラムは下記のとおりです。

Windows Server 2008
Windows Server 2008 用の .NET Framework 2.0 SP2、3.0 SP2、4.5.2、および 4.6 のセキュリティおよび品質ロールアップ (KB 4340007)
Windows Server 2008 用の .NET Framework 2.0 SP2、3.0 SP2、4.5.2、4.6 のセキュリティおよび品質ロールアップ更新プログラム (KB 4340559)

Windows Server 2012 R2
Windows 8.1 および Windows Server 2012 R2 用の .NET Framework 3.5 SP1、4.5.2、4.6、4.6.1、4.6.2、4.7、および 4.7.1 のセキュリティのみの更新プログラム (KB 4340006)
Windows 8.1、Windows RT 8.1 および Windows Server 2012 R2 用の .NET Framework 3.5 SP1、4.5.2、4.6、4.6.1、4.6.2、4.7、および 4.7.1 のセキュリティおよび品質ロールアップ更新プログラム (KB 4340558) Windows 8.1 および Windows Server 2012 R2 用の .NET Framework 4.6、4.6.1、4.6.2、4.7、および 4.7.1 のセキュリティのみの更新プログラムについて (KB 4338605)

Windows Server 2016
2018 年 7 月 11 日 — KB4338814 (OS ビルド 14393.2363)

 

[ 対象 OS ]
サポートされている全 OS で発生する可能性があります。

Windows 7 / Windows Server 2008 R2
Windows 8.1 / Windows Server 2012 R2
Windows 10 / Windows Server 2016
Windows Server 2008
Windows Server 2012

 

[ 原因 ]
現在調査中の状況ですが、IIS では、偽装の動作により、プロセスを実行するアカウント (アプリケーション プールの実行アカウント "ApplicationPoolIdentity") と、プログラム (スレッド) を実行するアカウント (IIS で認証したアカウント : 匿名認証のアカウント "IUSR" 等) が異なっており、この動作と .NET Framework の更新プログラムが起因していることが確認されています。

 

[ 対応策 ]
2018 年 8 月 15 日 (日本時間) に公開いたしました .NET Framework 向けのセキュリティ更新プログラムに本問題に対する修正が含まれています。
下記の記事にて対象となる OS / .NET Framework のバージョンをご確認いただき、セキュリティ更新プログラムの適用をご検討ください。

August 2018 .NET Framework Security and Quality Rollup

Applications that rely on COM components were failing to load or run correctly because of "access denied", "class not registered", or "internal failure occurred for unknown reasons" errors described in KB 4345913 and Advisory on July 2018 .NET Framework Updates. [651528]

 

OS .NET Framework バージョン 7 月定例の更新プログラム 8 月公開の更新プログラム
Windows 10 / Windows Server 2016
Windows 10 v1803 すべてのバージョン 4338819 4343909
AC* 4345421
Windows 10 v1709 すべてのバージョン 4338825 4343897
AC 4345420
Windows 10 v1703 すべてのバージョン 4338826 4343885
AC 4345419
Windows 10 v1607Windows Server 2016 すべてのバージョン 4338814 4343887
AC 4345418
Windows 10 LTSB 2015 すべてのバージョン 4338829 4343892
AC 4345455
Windows 8.1 / Windows Server 2012 R2
.NET Framework 4.6.x, 4.7.x MR* 4338419 MR 4344145
SO* 4338605 SO 4344166
.NET Framework 4.5.2 MR 4338415 MR 4344147
SO 4338600 SO 4344171
.NET Framework 3.5 SP1 MR 4338424 MR 4344153
SO 4338613 SO 4344178
Windows Server 2012
.NET Framework 4.6.x, 4.7.x MR 4338418 MR 4344144
SO 4338604 SO 4344165
.NET Framework 4.5.2 MR 4338416 MR 4344148
SO 4338601 SO 4344172
.NET Framework 3.5 SP1 MR 4338421 MR 4344150
SO 4338610 SO 4344175
Windows 7 SP1 / Windows Server 2008 R2 SP1
.NET Framework 4.6.x, 4.7.x MR 4338420 MR 4344146
SO 4338606 SO 4344167
.NET Framework 4.5.2 MR 4338417 MR 4344149
SO 4338602 SO 4344173
.NET Framework 3.5.1 MR 4338423 MR 4344152
SO 4338612 SO 4344177
Windows Server 2008 SP2
.NET Framework 4.6 MR 4338420 MR 4344146
SO 4338606 SO 4344167
.NET Framework 4.5.2 MR 4338417 MR 4344149
SO 4338602 SO 4344173
.NET Framework 2.0 SP2,3.0 SP2 MR 4338422 MR 4344151
SO 4338611 SO 4344176

* AC (Alternate Cumulative) は、7 月の月例リリース後の他の既知の問題に対応するため 7 月 19 日 (米国時間) に公開された Windows 10 用の累積パッケージです。
* MR (Security Monthly Quality Rollup) は、セキュリティ マンスリー品質ロールアップ を示します。
* SO (Security Only Quality Update) は、セキュリティのみの品質更新プログラム を示します。

 

[ 更新履歴 ]
2018/07/19 : 本 Blog の公開
2018/08/16 : 2018 年 8 月 15 日 (日本時間) 公開のセキュリティ更新プログラムでの対応状況に合わせ [対応策] の内容を変更
2018/08/17 : 各 OS / .NET Framework のバージョンごとにまとめた表を [対応策] の内容に追記

 

[ 補足 ]
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります