Likes Likes:  0
Resultaten 1 tot 5 van de 5
  1. #1
    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix
    geregistreerd gebruiker
    4.149 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Managed WordPress Hosting / Codert.cloud
    Functie: CEO
    URL: www.managedwphosting.nl
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    Thread Starter

    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix

    Bron lek vermelding: https://wptavern.com/high-risk-xss-v...l-cache-plugin

    In 0.9.4.1 zit een XSS lek in de support pagina. Deze is op het net wel al gepatched, maar nog niet door de officiele makers (W3Edge).
    Patchen of overstappen op een github fork is niet iets dat iedere WordPress gebruiker zal begrijpen of kunnen toepassen.

    Wij hebben daarom onze hosting klanten allemaal voorzien van een plugin die automatisch alle verzoeken naar de W3TC Support pagina tegenhoudt met een nette WordPress wp_die() aanroep. Hierdoor kan het lek niet meer misbruikt worden. Dat geeft je tijd om een andere plugin te zoeken en uit te proberen, of om te wachten totdat W3Edge een nieuwe versie uitrolt.

    We hebben deze plugin op github gezet, zodat hij vrij en gratis toegankelijk is voor iedereen.

    Lees er meer over en download de plugin direct (geen configuratie nodig): https://www.managedwphosting.nl/2016...ebben-een-fix/

    Vraag je zelf ook af: wat doet MIJN webhost voor mijn WordPress site veiligheid?
    WordPress hosting Optimalisatie webbouw debugging door WP Core developers



  2. #2
    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix
    Sebastiaan Stok
    2.468 Berichten
    Ingeschreven
    20/12/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    86 Berichten zijn liked


    Naam: Sebastiaan Stok

    Red face

    Vraag je zelf ook af: wat doet MIJN webhost voor mijn WordPress site veiligheid?
    Wordpress zou ik algemeen verbieden tot de makers beveiliging is een keer serieus gaan nemen, er nu is echt nog geen release geweest waar er geen kritiek lek in zat. Om nog maar over de plug-ins te zwijgen.

    Als ik naar de broncode van 3WTC kijk krijg ik jeuk van de vreselijke beveiliging!

    In de OATH implementatie:

    PHP Code:
    private static function generate_nonce() {
        
    $mt microtime();
        
    $rand mt_rand();

        return 
    md5($mt $rand); // md5s look nicer than numbers
     

    microtime is NIET random, mt_rand() is slechts deels random, en dan alles in md5 gooien zodat alle randomnes compleet verdwijnt!
    Gebruik http://php.net/random_bytes (of de compatible versie die staat vermeld bij de comments).

    De check_signature functie is gevoelig voor mb function-overload waar een andere string lengte kan ontstaan.
    En je zo als nog positief resultaat kan krijgen voor iets dat niet overeenkomt,

    In files.php

    $attachment_location = filter_var(urldecode($_REQUEST['file']), FILTER_SANITIZE_STRING);
    $md5 = md5($attachment_location);
    $nonce = $_REQUEST['nonce'];
    $stored_nonce = get_site_option('w3tc_support_request') ? get_site_option('w3tc_support_request') : get_option('w3tc_support_request');
    $stored_attachment = get_site_option('w3tc_support_request') ? get_site_option('attachment_' . $md5) : get_option('attachment_' . $md5);

    if (file_exists($attachment_location) && $nonce == $stored_nonce && !empty($stored_nonce) && $stored_attachment == $attachment_location) {
    w3_require_once(W3TC_INC_DIR . '/functions/mime.php');
    $type = w3_get_mime_type($attachment_location);
    header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
    header("Content-Type: " . $type);
    header("Content-Length:".filesize($attachment_location));
    header("Content-Disposition: attachment; filename=" . basename($attachment_location));

    $file = fopen($attachment_location, 'rb');
    if ( $file !== false ) {
    fpassthru($file);
    fclose($file);
    }

    w3tc_file_log('success', $attachment_location);
    die();
    }
    Hier is wel zo veel mis mee :

    Voor zover ik heb kunnen bepalen (staat in de pub map, en word niet ergens geinclude) kan iedereen dit aanroepen zonder enige voor autorisatie. Maar dit kan ook fout hebben

    • Geen controle op het path (werkelijk??)
    • Die zogenaamde filtering werkt niet tegen path traversal https://3v4l.org/CqaKD
    • De nonce (die tussen twee haakjes niet veilig is), word niet vergelijken met een constant time comparison (waardoor iemand heel makkelijk kan raden welke combinatie er werkt, en de none die door Wordpress zelf word gegenereerd is maar 10 tekens lang!).
    • md5 voor een autorisatie hash...
    • Dit "get_site_option('w3tc_support_request')" geeft een nonce waarde terug, die eigenlijk zeer voorspelbaar is. (zie benden)


    En nonce is hier niet eens voor bedoeld, een none is met name bedoeld tegen replay attacks en encryptie versterking.

    Niet erg toch? Nou.

    https://core.trac.wordpress.org/brow...able.php#L1848
    De `wp_nonce_tick` functie werkt op tijd (deels voorspelbaar), user id (voorspelbaar, 1), $token (heel moeilijk te voorspellen! super)

    Maar nog niet echt cryptographic random. Dan moet je echt iets meer hebben dan een hmac van een password.
    Oké niet helemaal geweldig, maar toch beter (dan alleen microtime).

    Alleen.... word dit alles met zinloos geweld om zeep geholpen door een substr die er slechts 10 tekens van maakt
    En was dat nog niet erg genoeg, laten we een random string door hmac md5 halen. Alweer md5? ze zijn soms allergisch voor sha1.

    All die onvoorspelbaarheid is nu compleet weg, en dat word gebruikt voor een functionaliteit die toegang geeft tot alle bestanden.
    Heel je beveiliging is niet zwak.

    Ja, al met al prima software om je website mee te beheren.

    Ja maar er is toch auto-update??
    Ja, alleen is deze ook niet waterdicht.

    • Standaard checksums downloaden over plain HTTP? Prima idee.
    • Updates zijn niet digitaal ondertekend. Vooral een risico als je daarnaast ook nog is plain HTTP gebruikt.

  3. #3
    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix
    Sebastiaan Stok
    2.468 Berichten
    Ingeschreven
    20/12/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    86 Berichten zijn liked


    Naam: Sebastiaan Stok

    Kleine correctie " Heel je beveiliging is niet zwak.", moest zijn "Heel je beveiliging is nu zwak."

    En een kleine toevoeging, meer een opmerking. hmac vereist een sleutel (salt) om de hash sterker te maken maar hier bij is het sterk aan te raden geen tekst gebruiken maar echte random data in hex-coded format "\x22\f2\a3" ipv "sf#v!4"

  4. #4
    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix
    geregistreerd gebruiker
    4.149 Berichten
    Ingeschreven
    09/12/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    76 Berichten zijn liked


    Naam: Ramon Fincken
    Bedrijf: Managed WordPress Hosting / Codert.cloud
    Functie: CEO
    URL: www.managedwphosting.nl
    Registrar SIDN: Nee
    KvK nummer: 30262182
    TrustCloud: ramonfincken
    View ramonfincken's profile on LinkedIn

    Thread Starter
    Er is alsnog een nieuwe versie uitgekomen, sneller dan verwacht. Deze nieuwe versie 0.9.5 zegt "een XSS" lek te fixen, eindelijk PHP 7 support en memcached beter te krijgen. Wij willen de nieuwe versie even afwachten, er zit HEEL veel in, dus niet alleen een paar fixes.
    WordPress hosting Optimalisatie webbouw debugging door WP Core developers

  5. #5
    XSS Lek in W3 Total Cache (W3TC) versie 0.9.4.1, wij hebben een fix
    Sebastiaan Stok
    2.468 Berichten
    Ingeschreven
    20/12/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    86 Berichten zijn liked


    Naam: Sebastiaan Stok

    WAT! namespace's in een Wordpress plug-in en ik zie ook gebruik van hash_compare(). Ze zijn goed bezig, nog niet alles bekeken maar kennelijk zijn de klachten eindelijk gehoord

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics