Roberto Pulito

PHP 5.3.7, update col buco

Gli strumenti per l'elaborazione degli ipertesti si ritrovano con un problema legato alla cifratura. Sono gli stessi membri del PHP Group a sconsigliare l'aggiornamento

Roma - L'update 5.3.7 del noto linguaggio di scripting PHP, rilasciato la scorsa settimana, non porta con sé soltanto delle migliorie ma anche un fastidioso bug in ambito di cifratura. Per questo motivo gli stessi sviluppatori sconsigliano di effettuare l'aggiornamento.

La cifratura DES e la classe BLOWFISH procedono perfettamente, ma non è possibile creare uno script funzionante per l'autenticazione, come quelli dedicati a username e password, utilizzando l'algoritmo di default [MD5[http://it.wikipedia.org/wiki/MD5]] che effettua l'hashing. La versione stabile del nuovo PHP non riesce infatti a cifrare e decifrare correttamente la stringa.

La prima segnalazione del bug che rende impossibile l'utilizzo della funzione crypt () è arrivata dagli utenti PHP il giorno stesso in cui è stata rilasciato l'update. Il PHP Group conta ovviamente di trovare una cura per il bug [55439[https://bugs.php.net/bug.php?id=55439]] al più presto. La versione 5.3.8 di PHP uscirà quindi in anticipo rispetto alla tabella di marcia.
Tutti coloro che non vogliono attendere l'uscita della prossima release ufficiale, possono sempre provare a le versioni "intermedie" e revisionate che hanno incominciato a circolare sul web.

Roberto Pulito
Notizie collegate
  • TecnologiaCorso PHP/ Lezione 1: "Ciao mondo!"A grande richiesta, accanto a quello su ASP, iniziamo questo mese anche un corso sul PHP, un linguaggio che, grazie a Linux, sta diventando sempre più popolare ed importante
  • AttualitàMarzo, Month of PHP BugsPrendendo spunto da altre inziative analoghe, alcuni esperti hanno dedicato il mese di marzo alla divulgazione delle vulnerabilità di PHP, sia vecchie che nuove. Obiettivo, rendere PHP ancor più robusto
15 Commenti alla Notizia PHP 5.3.7, update col buco
Ordina
  • come da oggetto. Data l'importanza della questione, il sig. Pulito dovrebbe aggiornare l'articolo.
    non+autenticato
  • - Scritto da: Pinco Panco
    > come da oggetto. Data l'importanza della
    > questione, il sig. Pulito dovrebbe aggiornare
    > l'articolo.

    Aspetta e spera.
    non+autenticato
  • - Scritto da: Pinco Panco
    > come da oggetto. Data l'importanza della
    > questione, il sig. Pulito dovrebbe aggiornare
    > l'articolo.

    Dubito che lo farà. Sarebbe come ammettere che, mentre la maggior parte delle aziende che fanno software libero impiegano mesi per correggere i bug critici, la maggior parte dei progetti di software libero correggono tali bug quasi in tempo reali.
    Naturalmente ci sono delle eccezioni, per esempio MySQL (ma non i suoi fork) è lento quasi quanto Microsoft, e non da quando se l'è pappata Oracle, ma da sempre. (mi riferisco in particolare ai bug di funzioni che non è possibile utilizzare a causa della loro instabilità, e per le quali la comunità sviluppa patch ottime in tempi rapidissimi, che non entreranno MAI nel ramo ufficiale). Purtroppo non esiste un vaccino contro l'imbecillità, però il modello aperto è chiaramente un valore aggiunto, e le eccezioni sono pochissime.
    non+autenticato
  • di usare l'utenza come "beta tester" senza fare prove in ambiente di test.
    non+autenticato
  • - Scritto da: attonito
    > di usare l'utenza come "beta tester" senza fare
    > prove in ambiente di
    > test.
    ma stai zitto, vorrei vedere te a gestire un intero linguaggio di scripting, correggendo bug e sviluppando features mettendole a disposizione pubblicamnete per l'interà comunità e in breve tempo. Sei un incompetente!
    non+autenticato
  • - Scritto da: Marandino
    > - Scritto da: attonito
    > > di usare l'utenza come "beta tester" senza
    > fare
    > > prove in ambiente di
    > > test.
    > ma stai zitto, vorrei vedere te a gestire un
    > intero linguaggio di scripting, correggendo bug e
    > sviluppando features mettendole a disposizione
    > pubblicamnete per l'interà comunità e in breve
    > tempo. Sei un incompetente!

    Chi pianifica BENE fa rilasci testati, gli altro no. Fine della storia.
    non+autenticato
  • - Scritto da: attonito
    > - Scritto da: Marandino
    > > - Scritto da: attonito
    > > > di usare l'utenza come "beta tester"
    > senza
    > > fare
    > > > prove in ambiente di
    > > > test.
    > > ma stai zitto, vorrei vedere te a gestire un
    > > intero linguaggio di scripting, correggendo
    > bug
    > e
    > > sviluppando features mettendole a
    > disposizione
    > > pubblicamnete per l'interà comunità e in
    > breve
    > > tempo. Sei un incompetente!
    >
    > Chi pianifica BENE fa rilasci testati, gli altro
    > no. Fine della
    > storia.

    PS: proprio perche va in mano a mezzo mondo andrebbe testato a fondo.
    non+autenticato
  • Mai sentito parlare di bug non scoperto nei test, ma che salta fuori proprio al rilascio ?
    Sgabbio
    26177
  • - Scritto da: attonito

    > Chi pianifica BENE fa rilasci testati, gli altro
    > no. Fine della
    > storia.

    Hai mai fatto TDD?
    Sai cosa significa testare un linguaggio di programmazione con migliaia di funzioni e di oggetti?

    PHP ha una serie di test, e ne vengono aggiunti di continuo, ma è praticamente impossibile riuscire a coprire tutti i casi d'uso, e qualcosa sfugge.
    Anzi, mi stupisce che sfugga cosi` poco.

    In ogni caso è stato aggiunto il test case e IERI e` uscita la 5.3.8 col bug corretto.
    Shu
    1232
  • - Scritto da: Marandino
    > - Scritto da: attonito
    > > di usare l'utenza come "beta tester" senza
    > fare
    > > prove in ambiente di
    > > test.
    > ma stai zitto, vorrei vedere te a gestire un
    > intero linguaggio di scripting, correggendo bug e
    > sviluppando features mettendole a disposizione
    > pubblicamnete per l'interà comunità e in breve
    > tempo. Sei un
    > incompetente!

    Questa non è una giustificazione. Apache è molto più usato di PHP (anche perchè, come sai, PHP è usato quasi sempre su Apache), eppure vaccate simili non le ha MAI fatte, mentre PHP ne ha fatte tante, ma tante...
    Al limite puoi dire che le alternative (a cominciare da ASP, che mi fa venire l'orticaria solo a sapere che esiste) sono messe uguale.
    Questo è incontestabile. Ma rimane il fatto che PHP è gestito in modo superficiale. Lo dimostrano i bug come questo, le mille incompatibilità all'indietro ingiustificabili, e le assurdità sintattiche che hanno il solo scopo di semplificare lo sviluppo del progetto, creando però brutture nel linguaggio.
    Comunque, se lui è incompetente tu sei un genio: ti basta leggere due righe per sparare un giudizio simile! Wow, che esperto! (ti sto prendendo in giro bonariamente, non prendertela, dimostrami che si può scherzare sul web senza iniziare guerre adolescenziali)
    non+autenticato
  • Uhm...la sai la sottile differenza tra web server e linguaggio di scripting? Sai che non hanno la stessa complessità vero?
    non+autenticato
  • eventi del genere con php sono davvero molto rari

    un framework di quelle dimensioni, ogni tanto capita che esca col buco
    non+autenticato
  • Per la redazione ... guarda che l'MD5 è un algorittimo che effettua l'hashing non la crittografia il che significa che da una stringa MD5 (binaria e/o esadecimale) non è possibile ottenere "direttamente" la stringa originale
    non+autenticato
  • beh, l'hashing è sempre una funzione crittografica...

    Quello che reputo errato (e penso volevi sottolineare anche tu) è la seguente frase: "MD5 che effettua l'hashing. La versione stabile del nuovo PHP non riesce infatti a cifrare e decifrare correttamente la stringa"
    L'hashing è una funzione crittografica oneway, quindi non c'è nulla da decifrare.
    Preso da un altro sito: "In some cases, when the crypt() function is called using MD5 salts, the function will return only the salt value", quindi il problema è che crypt() ritorna sempre lo stesso valore... il che è mooooolto male.
    non+autenticato
  • Non vedo il problema a definirla cifratura... questo termine non implica che la stringa cifrata possa poi essere decifrata.
    Si parla da sempre di cifratura a senso unico ("one way" per quelli che non sanno l'italiano o lo ritengono fuori moda).
    Non è che io voglia difendere PI, ma è la prima volta che non scrive una vaccata, diamogli atto che pur essendo il sito più superficiale non hanno sempre torto.
    non+autenticato