Wie im Forum angekündigt, ist es aufgrund eines Fehlers in Gluon-Systemkomponenten dringend notwendig, eine aktualisierte Firmware auszurollen.
Seit 18 Uhr am 05.05.2022 ist bekannt, was das Problem ist:
ecdsa_verify_[prepare_]legacy()
does not check whether the signature valuesr
ands
are non-zero. A signature consisting only of zeroes is always considered valid, making it trivial to forge signatures.Requiring multiple signatures from different public keys does not mitigate the issue:
ecdsa_verify_list_legacy()
will accept an arbitrary number of such forged signatures.Both the
ecdsautil verify
CLI command and the libecdsautil library are affected.The exact same vulnerability was recently found in the Java Runtime Environment (CVE-2022-21449).
Kurzum: wer es schafft, im Freifunk-Netz den Updateserver zu übernehmen (im Sinne von »simulieren«, »netztechnisch zu übernehmen«), kann dort eine »manifest«-Datei mit gefälschten Schlüsseln (die komplett aus Nullen bestehen) hinterlegen und somit Freifunk-Knoten mittels einer ›gefälschten‹ Firmware übernehmen.
Nun ist die technische Hürde nicht trivial, aber eben – in einem offenen Netz – nicht undenkbar. Letztlich ist es ein trivialer Fix, daher haben wir uns entschieden, Donnerstag nur einen kurzen Funktionstest zu machen: kann ein Knoten mit dem reparierten Autoupdate-Mechanismus noch seine Firmware selbst aktualisieren?
Dieser Test wurde mit der Firmware 1.2.0~103 auf 1.2.0~104 erfolgreich durchgeführt, somit wurde 1.2.0~104 nun unsere neue »stable«-Firmware.
Stand Samstag abend haben sich bis auf 5 Knoten – vier sind noch auf 1.2.0~101, einer gar noch auf 1.2.0~56 – alle auf 1.2.0~104 oder neuer – »tng«-Knoten wurden auf 1.4.0~2, eine Gluon-v2021.1.2-basierte Firmware, gebracht – aktualisiert.
An die Betreiber der Knoten, die sich noch nicht aktualisert haben: bitte guckt nach, warum sie sich nicht aktualisiert haben bzw. führt die Aktualisierung bitte dringend manuell aus!