次の方法で共有

2020年7月WindowsUpdateの不具合?

Anonymous
2020-07-21T00:28:41+00:00

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 サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2020-07-21T01:16:12+00:00

    >エラー起こしてるのは、.NET Frameworkなんですが、今月の.NET Frameworkの更新で、XML読込に関するセキュリティ強化が記載されてますね

    >CVE-2020-1147 | .NET Framework、SharePoint Server、Visual Studio のリモート コードが実行される脆弱性

    そうなんですよね。。

    ただCLRに登録した時だけエラーを返すので解せないなと。。

    ありがとうございます。

    Technetフォーラムに投稿してみます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. 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 のリモート コードが実行される脆弱性

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません