Technisch handelt es sich um ein Lesen außerhalb der Puffergrenzen (out-of-bounds read). Microsoft stuft den Fehler als „Wichtig" ein und vergibt einen CVSS-Wert von 8.1; ein erfolgreicher Angriff setze ein tiefes Verständnis des Zielsystems voraus. Zum Zeitpunkt der Veröffentlichung am 13. Oktober war weder eine Ausnutzung noch eine öffentliche Offenlegung bekannt.

Laut Sicherheitshinweis könnte ein Angreifer die Lücke ausnutzen, indem er „ein speziell präpariertes Paket über das Netzwerk an einen betroffenen Dienst" sendet; welcher Dienst gemeint ist, nennt der Hinweis nicht. Weder eine Anmeldung noch eine Nutzerinteraktion wären erforderlich. Im Katalog bekannter ausgenutzter Schwachstellen der US-Behörde CISA war der Fehler zuletzt nicht aufgeführt; der Katalog wurde Anfang dieser Woche aktualisiert.

Brian Vitko von RFF, einem Hersteller von Software zur Geräteverwaltung, hatte Anfang dieser Woche in sechs Ländern geprüft, welche Paint-Builds der Store anbietet. In jedem Fall war 11.2605.81.0 der neueste – ein Build ohne die Korrektur. Seine Test-VM ist inzwischen von selbst per Store-Auto-Update auf den fehlerbereinigten Build gewechselt. Das ist ein einzelner Rechner; wie schnell andere PCs den Build erhalten, ist offen. In zehn geprüften Ländern war 11.2609.401.0 zuletzt der neueste angebotene Build.

Verwirrung stiftet die Versionsangabe: Microsofts Sicherheitshinweis nennt 11.2609.401.0 als behobenen Build, während der ebenfalls von Microsoft gepflegte CVE-Eintrag Paint nur unterhalb von 11.2605.91.0 als betroffen führt; der NVD-Eintrag zeigt denselben Bereich. Ein Scanner, der sich auf den CVE-Eintrag stützt, würde also jeden Build ab 11.2605.91.0 als behoben werten. Eine Installation mit 11.2609.401.0 oder neuer erfüllt beide Angaben. Noch in der vergangenen Woche nannte der Sicherheitshinweis 11.2605.91.0 als behobenen Build, wie aus einer Forumsfrage in Microsoft Q&A hervorgeht. Die Revisionshistorie des Hinweises führt weiterhin nur den Eintrag vom 13. Oktober, ohne Vermerk zur Änderung.

Für die Prüfung ist zu beachten, dass Paint wie andere Store-Apps pro Benutzerkonto separat installiert wird. Zusätzlich kann Windows eine bereitgestellte (provisioned) Kopie vorhalten, die für jedes neue Benutzerkonto installiert wird. Wer nur das angemeldete Konto prüft, übersieht möglicherweise ältere Kopien.

Vitkos Testbeschreibung nennt zwei Befehle für eine als Administrator geöffnete PowerShell. Der erste listet die Paint-Kopien aller Benutzer, der zweite die bereitgestellte Kopie:

  • Get-AppxPackage -AllUsers -Name Microsoft.Paint | Select-Object Version, @{ n = ‘Users’; e = { $_.PackageUserInformation.UserSecurityId.Username -join ‘, ’ } }
  • Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq ‘Microsoft.Paint’ | Select-Object Version

Für jede Kopie unterhalb von 11.2609.401.0 gilt: Paint über den Store aktualisieren oder das automatische Store-Update den behobenen Build installieren lassen. In Intune und anderen Werkzeugen zur Geräteverwaltung erledigt dies der Update-Scan für Store-Apps über viele PCs hinweg. Anschließend sollten beide Befehle erneut ausgeführt werden, um zu prüfen, dass jede Kopie 11.2609.401.0 oder neuer meldet.

Der Sicherheitshinweis nennt weder einen Workaround noch eine Abhilfemaßnahme. Bevor die Korrektur im Store verfügbar war, hatte Vitko empfohlen, Paint dort zu entfernen, wo es niemand benötigt – für jeden Benutzer und aus der bereitgestellten Kopie. Diesen Schritt hat er nach eigenen Angaben nicht getestet.