Sicherheitsproblem im GURU3

Tl;dr: Jemand frem­des könn­te zufäl­lig dei­ne Daten bekom­men haben, wenn du heu­te zwi­schen 18:34 und 19:49 Uhr im GURU ein­ge­loggt warst und du einen Time­out bekom­men hast.

Heu­te, am 19.12.2020 haben wir eine neue Ver­si­on des GURU3 deploy­ed, bei der es zu einem Sicher­heits­pro­blem kam, wenn zwei Nutzer*innen zum sel­ben Zeit­punkt eine belie­bi­ge Sei­te im GURU auf­ge­ru­fen haben. Es ist repro­du­zier­bar zu der Situa­ti­on gekom­men, dass eine Nutzer*in eine Sei­te anfor­der­te und einen Time­out bekam, wäh­rend die Sei­te an eine ande­re Nutzer*in aus­ge­lie­fert wur­de. Es konn­te somit z. B. eine frem­de Nutzer*in die Über­sicht der Exten­si­ons einer ande­ren Nutzer*in sehen und somit auch an die SIP Zugangs­da­ten und / oder die DECT-Tokens gelan­gen. Wer heu­te zwi­schen 18:34 und 19:49 Uhr im GURU ein­ge­loggt war und einen Time­out bekom­men hat muss unbe­dingt sei­ne SIP Kenn­wör­ter von akti­ven Events (aktu­ell rC3 und EPVPN) ändern, um sicher­zu­ge­hen, dass die­se nicht miss­braucht wer­den. Dies ist mit dem “Rege­ne­ra­te Pass­word” Knopf beim Schlüs­sel­sym­bol in der Exten­si­ons-Über­sicht zu bewerk­stel­li­gen. Bereits genutz­te DECT-Tokens sind “inva­lid”. Wer ein neu­es nicht benutz­tes DECT-Token möch­te, mel­det sich bei poc at eventphone.de oder mel­det sein DECT Gerät an, dadurch wird der Token unbrauch­bar. Eine DECT Exten­si­on in SIP ändern und dann wie­der zurück in DECT, löst das Pro­blem auch, da ein neu­es Token gene­riert wird.

Analyse

Die Ursa­che lag in einem Update der Djan­go Chan­nels Kom­po­nen­te von klei­ner 3 auf Ver­si­on 3.0.2. In den Release Notes wird erwähnt, dass die bis­he­ri­ge Kon­fi­gu­ra­ti­on nicht mehr unter­stützt wird und es soll­te auch eine War­nung aus­ge­ge­ben wer­den, was in unse­rem Set­up jedoch nicht passierte.

./manage.py runserver
Performing system checks...

Libdtmx not found. Barcodes not available!
System check identified no issues (0 silenced).
December 19, 2020 - 17:44:34
Django version 3.0.11, using settings 'guru3.settings'
Starting ASGI/Channels version 3.0.2 development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Performing system checks...

Im Daph­ne Git­Hub Repo­si­to­ry gibt es auch ein geschlos­se­nes Issue das den Feh­ler und eine Lösung beschreibt.

Zeitlicher Ablauf

2020-12-19 18:34 Deploy­ment der pro­ble­ma­ti­schen Konfiguration
2020-12-19 19:28 PoC Mit­glie­der bemer­ken das Problem
2020-12-19 19:44 Ver­mu­tung, dass die Repon­se an ande­re User aus­ge­lie­fert wird
2020-12-19 19:49 Abschal­tung des GURU3
2020-12-19 20:45 Reak­ti­vie­rung des GURU3

Was haben wir gelernt?

  1. Bei allen Updates immer die Release Notes genau durchlesen.
  2. Nicht unter Zeit­druck auf das Live­sys­tem deployen.
  3. Immer Vier-Augen-Prin­zip.
  4. Im Test­sys­tem aus­gie­big tes­ten und dann erst auf Live deployen.

Bei Fra­gen wen­det euch an uns via poc at eventphone.de.

Wir ent­schul­di­gen uns für die Pan­ne und arbei­ten dar­an, unse­re Abhän­gig­kei­ten von Kom­po­nen­ten zu ver­rin­gern, bei denen wir kei­ne Kon­trol­le über die Qua­li­tät haben, um das Risi­ko sol­cher Vor­fäl­le zu minimieren.

Euer PoC / Event­pho­ne Team