Fragen? Antworten! Siehe auch: Alternativlos
Es gibt da einige beachtenswerte Details.
Erstens: Die Codequalität und das Design sind auffallend schlecht.
Zweitens: Wenn man einen Bug meldet, mit dem zero-click remote code execution geht, dann stuft das Teams-Team das nicht etwa als critical ein (dafür ist critical gedacht, um genau diesen Fall abzudecken), sondern als … "important, spoofing". Warum "important, spoofing"? Weil das noch in scope ist, um an dem Bug-Bounty-Programm teilzunehmen. Wenn es nicht in scope wäre, wären die Melder juristisch auch nicht an die Teilnahmebedingungen gebunden und könnten direkt 0days an Ransomware-Gangs verkaufen. Das ist also sowas wie der Mittelfinger von Microsoft an die Melder des Bugs.
Drittens:
angular expression filtering can be bypassed by injecting a nullbyte char in unicode \u0000, e.g.{{3*333}\u0000}
Mit dem Nullbyte-Trick haben wir in den 90er Jahren Perl-Webapps aufgemacht. Das ist immer noch ein Problem bei Web-Entwicklern?!Tja und die Remote Code Execution geht dann, weil dieser ranzige Gammelclient in Electron implementiert wurde, das ist im Wesentlichen ein Webbrowser mit Javascript, aber das Javascript hat Zugriff auf Filesystem und Systemresourcen und kann Prozesse starten. WAS FÜR EINE GROSSARTIGE IDEE!! Lasst uns mehr "Anwendungen" mit Electron machen! Wenn es eine Programmierumgebung gibt, in der wir Injection voll im Griff haben, dann ist es ja wohl Javascript!!1! (Danke, Bernd)