Einleitung
In diesem Dokument wird beschrieben, wie Probleme mit Cisco Jabber behoben werden, wenn nach der Änderung des Jabber-Codes Chatbot-Inhalte wiedergegeben werden.
Hintergrundinformationen
Zu den Jabber-Clients gehört auch der Cisco Jabber Bot, der mit einem Software Development Kit (SDK) entwickelt wurde. Dieses SDK bietet ein Framework und ein Toolkit zur Implementierung interaktiver Conversational Bots auf der Cisco Instant Messaging and Presence (IM&P)-Nachrichtenplattform oder dem Cisco WebEx Messenger Server. Es gibt bestimmte HyperText Markup Language (HTML)-Tags, die für einen einfachen Jabber-Bot konfiguriert werden können.
Wenn die Jabber-Version 12.9.4 oder älter ist, sieht der Chatbot so aus, wie im Bild dargestellt, und Jabber kann alle Schaltflächen und Optionen anzeigen, die im Schriftartcode beschrieben werden.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen.
- Cisco Jabber
- Cisco Jabber Bot-SDK
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen.
- Jabber, Version 12.9.X
- Jabber, Version 14.X
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle verstehen.
Problem
Wenn die Jabber-Client-Version 12.9.5, 14.0 oder höher ist, kann Jabber aufgrund der im März 2022 veröffentlichten Sicherheitslücken (CVE-2020-3155) den Inhalt der Chatbots nicht mehr wiedergeben, da sie den HTML-Inhalt in der Client-Oberfläche anzeigen.
Diese Funktion macht Jabber anfällig für Angriffe von Man-in-the-Middle-Techniken (MITM), mit denen der Datenverkehr zwischen dem betroffenen Client und einem Endpunkt abgefangen und dann ein gefälschtes Zertifikat verwendet werden kann, um die Identität des Endpunkts anzunehmen. Ein Exploit könnte es dem Angreifer ermöglichen, den darauf geteilten Präsentationsinhalt anzuzeigen, den Inhalt zu ändern, der vom Opfer präsentiert wird, oder Zugriff auf die Anrufsteuerung zu erhalten. Dies hängt von der Konfiguration des Endpunkts ab.
Aufgrund dieser Verwundbarkeit haben die Entwickler eine Sicherheitsregel eingeführt, die es mehreren Elementen von Jabber in den HTML-Code-Tags ermöglicht, den Chatbot zu bilden.
Vor der Schwachstelle gab es keine Sicherheitsprüfungen für die Bot-Nachricht, aber nach der letzten Sicherheitsänderung wird die Bot-Nachricht nun von den neuen Sicherheitsmechanismen überprüft.
Die Sicherheitsregel besteht aus den nächsten zulässigen Tags und Stilattributen.
Zulässige Tags.
{"span", "font", "a", "br", "strong", "em", "u","div", "table", "tbody", "tr", "td", "h1", "h2", "h3",
"h4", "h5", "h6", "b", "p","i", "blockquote", "ol", "li", "ul", "pre", "code"}
Zulässige Style-Attribute.
{"font", "text-decoration", "color", "font-weight", "font-size", "font-family", "font-style"}
Tags, die nicht zulässig sind.
{“label”, “button”, “select”, “form”}
Lösung
Wenn die Cisco Jabber-Bot-Deklaration einige oder alle der oben genannten nicht zulässigen Tags enthält, besteht die Lösung darin, diese Tags aus dem HTML-Code zu löschen. Wenn sie jedoch benötigt werden, damit der Bot funktioniert, ist ein Konfigurationsschlüssel erforderlich.
Um jede Schwachstelle gleichzeitig zu vermeiden, ist es möglich, den klassischen Chatbot zu verwenden, der mit den erwähnten Style-Attributen und erlaubten Tags erstellt wurde.
Aus der Jabber-Sicherheitskorrektur können alle anderen Schriftarten oder Attribute außerhalb der zulässigen Liste nicht akzeptiert werden. Daher müssen Sie die Attribute im Chatbot nur ändern, um diese einzuschließen.
Wenn Sie den Chatbot weiterhin normal verwenden müssen, bedeutet dies, dass es mit den unerlaubten Tags einen Konfigurationsschlüssel für die HTML-Renderoption gibt, der der Datei jabber-config.xml hinzugefügt werden kann (Jabber-Konfigurationsdatei).
- hardening_xmpp_bot: setzt es wie in der Beispielzeile auf "FALSE".
Beispiel: <hardening_xmpp_bot>FALSE</hardening_xmpp_bot>
Überprüfung
Für diese Konfiguration ist derzeit kein Überprüfungsverfahren verfügbar.
Fehlerbehebung
Für diese Konfiguration sind derzeit keine spezifischen Informationen zur Fehlerbehebung verfügbar.
Zugehörige Informationen