Ein Kunde meldet sich:
Immer wenn ich diese E-Mail öffne, stürzt mein Computer ab.
Wir, als gestandene Admins, glauben natürlich erstmal nichts und schauen uns das an. Stellt sich raus: Der Kunde hat recht. Er hat eine Mail in seinem Posteingang, die seinen Outlook-Client immer crasht, wenn er die Mail anschaut. Wir leiten uns die Mail weiter (OWA ist nicht betroffen) und stellen fest: Outlook 2013 und 2016 lassen sich mit dieser Nachricht reproduzierbar und überall crashen. Unter jedem Windows. In der Voransicht (Standardmäßig eingeschaltet), beim anklicken, als MSG- oder EML-Datei, immer. Sehr schön!
Nach genauer Analyse stellt sich heraus: Es ist „nur“ der HTML-Word-Viewer. Dieser stolpert über eine einzige Zeile:
<style>table {mso-style-name:Standardowy; width:100%;}</style><br>
Wenn man also anderen Leuten das Outlook abschießen möchte verschickt einfach diese Zeile. Eine Beispiel-Crash-Mail.eml sieht zum Beispiel so aus:
From: Teleweed <[email protected]> To: "Anonymous" <Anonymous> Subject: This is an outlook crashing example Date: Fri, 2 Jun 2017 2:22:22 -0200 Content-Type: text/html; <style>table {mso-style-name:Standardowy; width:100%;}</style><br>
Leider konnten wir den Fehler nicht an Microsoft melden, weil das praktisch unmöglich ist. Weder ein MVP, unser PAM/PSX, die Social-Foren, noch das Feedback, noch die Security noch das Support-Team, noch der Partner-Support konnten oder wollten den Bug annehmen. Also liebe Welt: Happy shooting!
Vielleicht schickt ja mal jemand eine solche Mail an Rajesh Jha oder am besten gleich Satya Nadella 🙂
Update:
Mit dem Code lässt sich scheinbar auch Word an sich zum absturz bringen: Baut man folgendes in den Head eines html-Dokuments und versucht dann, selbiges mit Word zu öffnen kommt es ebenfalls zum Absturz.
<style>table {mso-style-name:Standardowy; width:100%;}</style>
Scheinbar ist das Ganze abhängig von der verwendeten Office-Sprache: Standardowy ist polnisch für „konventionell“. Ersetzt man es z.B. mit „Normale Tabelle“ (mit Anführungszeichen, wegen dem Leerzeichen) lässt es sich mit einem deutschen Word wieder Öffnen. Ein beliebige anderer String (z.B. auch „Table Normal“ aus einem englischsprachigen Word) verursacht den Absturz trotzdem.
Wichtig ist die Kombination aus „mso-style-name:<string>;“ und „width:<size>;“ -> Verwendet man z.B. „height“ gibt es keinen crash. Für <size> spielt es allerdings keine Rolle in welcher Einheit die Angabe erfolgt, Abstürzen tut Word auch mit z.B. 300px
Beispiele (proof of concept) gibt’s hier. („normale-tabelle_prozent.html“ sollte keinen Crash verursachen, der Rest allerdings schon.)
Danke @iSnackyCracky und @teleweed fürs finden und die langwierige Analyse.