
PoC für CVE-2022-26809, Analyse und Überlegungen sind auf github.io zu sehen.
PoC für CVE-2022-26809, Analyse und Überlegungen sind auf der github.io dargestellt.
Der PoC wurde durch Überschreiben von Impacket-Funktionen geschrieben.
Getestet mit: impacket Version 0.10.0
Der PoC wurde nicht vollständig getestet, da er die Schwachstelle auslösen soll, d. h. der Integer-Überlauf, der zu einem Pufferüberlauf auf dem Heap führt, wird erst nach 1048576 gesendeten Paketen erreicht, weil 1048576*4096 einen 32-Bit-Integer überläuft.
Ich habe keinen Weg gefunden, die Größe zu umgehen; mir scheint, dass die Fragmentlänge, die 16 Bit beträgt, gegen die tatsächliche Payload-Größe geprüft wird – sie müssen übereinstimmen.
Einschränkungen:
Das Projekt enthält die anfällige und die gepatchte Version der rpcrt dll, und der RPC-Server ist hier: RPC Server
Schließlich habe ich den PoC am Ende einer Analyse geschrieben, nur um mich selbst herauszufordern und ein wenig mehr über die RPC-Implementierung zu lernen.
Die Analyse, die mich dazu bewogen hat, diesen PoC zu schreiben, ist auf meiner GithubPages verfügbar.