2020年7月WindowsUpdateの不具合?
2020年7月WindowsUpdateについて。
CVE-2020-1147に対する下記セキュリティパッチを適用すると、SQLCLRでReadXmlメソッドが例外エラーを返すようになりました。
https://support.microsoft.com/ja-jp/help/4566519/kb4566519
確認環境、発生したエラーメッセージは下記の通りです。
■確認環境
・WindowsServer2012R2
・SQLServer2016
■エラーメッセージ
ユーザー定義のルーチンまたは集計 "PadLeft" を実行中に .NET Framework エラーが発生しました:
System.TypeInitializationException: 'Scope' のタイプ初期化子が例外をスローしました。 ---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
■再現コード
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Server
Public Class SqlClrPadding
<SqlFunction()>
Public Shared Function PadLeft(
ByVal str As String,
ByVal totalWidth As Integer,
ByVal paddingChar As Char
) As String
Dim stRead As System.IO.StringReader
Dim dsRead As System.Data.DataSet
'ReadXmlを使用。SQLCLRにReadXmlを使用するとエラー「ユーザー定義のルーチンまたは集計 "PadLeft" を実行中に .NET Framework エラーが発生しました: 」が発生
stRead = New System.IO.StringReader("<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>")
dsRead = New System.Data.DataSet
dsRead.ReadXml(stRead)
Return str.ToString.PadLeft(totalWidth, paddingChar)
End Function
End Class
上記をビルドしてSQLCLRに登録。
以下のSELECT文をSQLServerで流すとエラーが発生します。
SELECT
dbo.PadLeft('123', 5, '0') AS PAD_LEFT
同コードをSQLCLRではなく、WindowsFormで動かすと正常に動作するので、セキュリティパッチに問題があるのでは?と思っています。
WindowsUpdateの不具合でしょうか。
同様の報告もネット上に見当たらなかったため質問を投稿させて頂きました。
家庭向け Windows | その他 | Windows Update
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
-
Anonymous
2020-07-21T01:16:12+00:00 >エラー起こしてるのは、.NET Frameworkなんですが、今月の.NET Frameworkの更新で、XML読込に関するセキュリティ強化が記載されてますね
>CVE-2020-1147 | .NET Framework、SharePoint Server、Visual Studio のリモート コードが実行される脆弱性
そうなんですよね。。
ただCLRに登録した時だけエラーを返すので解せないなと。。
ありがとうございます。
Technetフォーラムに投稿してみます。
-
Anonymous
2020-07-21T00:58:01+00:00 ここは一般ユーザー間の情報交換の掲示板なので、Windows ServerやSQL Serverについては、Technetフォーラムの方へ移動してた方がいいかも
ついで
エラー起こしてるのは、.NET Frameworkなんですが、今月の.NET Frameworkの更新で、XML読込に関するセキュリティ強化が記載されてますね
CVE-2020-1147 | .NET Framework、SharePoint Server、Visual Studio のリモート コードが実行される脆弱性