CVE lesen und verstehen: am Beispiel von Gimp

Wenn Euch jemand den Ihr nicht kennt, eine ICO Datei schickt ( u.a. zusammen mit anderen Bilddaten z.b. ),
dann stellt sicher, daß Ihr die neueste GIMP Version habt/benutzt :

 
Schwachstelle CVE-2007-3126 :

 <http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2007-3126>


CVE-2007-3126: Schwachstelle in Gimp ermöglicht Denial-of-Service-Angriff

  Gimp kann in Version 2.3.14 durch eine ICO-Datei mit einem InfoHeader, der
  'Height' mit Null angibt, zum Absturz gebracht werden.

Wer sich jetzt mit CVE Nummern auskennt, wird merken, daß da immer die Jahreszahl drinsteht, wo die Schwachstelle gemeldet wurde, hier ist das 2007 ! Also 10 Jahre her.

Ich hab jetzt mal geprüft, was fürn Gimp ich habe, und das ist 2.8.20-1 🙂 Also irgendwas ist komisch :=)

Die Meldung kam im original von Suse :

Security Bulletin von Suse April 2017

und die haben das hier behoben:

   - bsc#1025717: Prefer lcms2 over lcms1 if both are available
   - bgo#593576: Preven crash in PDF Import filter when importing large image
     PDF or specifying high resolution

und im Zuge dieser Änderung haben die dann auch endlich die obige Schwachstelle behoben und daher wurde das zum Aufmacher der Meldung 🙂

Wie man setTimeout mit Parametern aufruft

Wer in Javascript programmiert, kennt das Problem vielleicht:

Man möchte  „window.setTimeout( function, timems )“ benutzen, um eine eigene Routine aufzurufen, aber man müßte da mal einen Parameter mitgeben, weil das ganze nicht statisch programmiert ist.

Das geht so :

function Klasse () {
        ...        
       this.timerCheck = function(self) {
            console.debug("timerCheck: "+ Date.now() +" "+ self.timer );
            if ( ( Date.now() - self.timer  ) / 1000 > 20 ) {
                self.close(); 
                return true;;
            }
            window.setTimeout( self.timerCheck.bind(null, self), 1000);
            return false;
        }
       this.andereFunktion = function() {
            ...
            this.timerCheck(this);
            ...
       }
}

Der entscheidende Teil ist das self.timerCheck.bind(null, parameter) . Es ruft die Funktion so auf timerCheck(parameter), statt blanko, wie es jahrelang nötig war.

Damit kann man endlich in Objekten, die Instanziiert werden, mehrere Instanzen einer Timerroutine laufen lassen.

IoT: Dildo mit WLAN Accesspoint , Default Root und WebCam

Ja, richtig gelesen, das IoT Desaster geht in die nächste Runde. Wie Heise auf seiner Webseite berichtet, wurde der Hersteller eines WLAN fähigen und mit WebCam ausgerüsteten Dildos bereits 2016 über die mannigfaltigen Schwachstellen seines Produkts informiert. Vor lauter Brumm-Brumm muß er den Hinweis wohl überhört haben, denn passiert ist nichts.

Den ganzen Spaß lest Ihr im Link unten.

Quelle: www.heise.de