PHP-ohjelmistossa paha haavoittuvuus havaittu

  • Viestiketjun aloittaja Viestiketjun aloittaja janti
  • Aloituspäivämäärä Aloituspäivämäärä

janti

Moderaattori
Ylläpitäjä

Critical Vulnerabilities in PHP​

"CERT-EU strongly recommends identifying PHP-based applications and preparing to patch as soon as fixed versions become available. Where immediate remediation is not feasible, organisations should consider isolating internet-facing applications from public networks until a fix can be applied."


Valtio ajaa sivuja alas
 
Olisko Carunan töktök myös tätä, huomenna siellä kyllä huoltokin eli olisko joku valmistelutyö tehnyt filunkia.
 
Minkä vuoksi korjausta ei tehty kaikessa rauhassa ja vasta sitten mainittu asiasta?

Näin juuri on toimittu. Mistä olet saanut käsityksen että korjausta ei tehty kaikessa rauhassa? Korjauksen julkaisu tämän "kaaoksen" aiheutti.

On 20 October 2026, the PHP project announced an upcoming security release addressing two critical vulnerabilities in PHP [1]. Public reports indicated that these vulnerabilities could lead to remote code execution [2,3].

The PHP team released the fixes today, 21 October 2026 at 13:30 UTC, in PHP versions 8.5.12, 8.4.27, 8.3.36 and 8.2.35 [4]. Both vulnerabilities can allow unauthenticated remote code execution. Technical details are now being discussed publicly, and initial proofs of concept (PoCs) have begun to circulate. This raises the likelihood that attackers are already exploiting the vulnerabilities.
 
Näin juuri on toimittu. Mistä olet saanut käsityksen että korjausta ei tehty kaikessa rauhassa? Korjauksen julkaisu tämän "kaaoksen" aiheutti.

On 20 October 2026, the PHP project announced an upcoming security release addressing two critical vulnerabilities in PHP [1]. Public reports indicated that these vulnerabilities could lead to remote code execution [2,3].

The PHP team released the fixes today, 21 October 2026 at 13:30 UTC, in PHP versions 8.5.12, 8.4.27, 8.3.36 and 8.2.35 [4]. Both vulnerabilities can allow unauthenticated remote code execution. Technical details are now being discussed publicly, and initial proofs of concept (PoCs) have begun to circulate. This raises the likelihood that attackers are already exploiting the vulnerabilities.
Minä sain tälläisen vastuksen kysymykseen. En tiedä mikä pitää paikkansa.

Alkuperäinen suunnitelma oli “korjaus ensin”. Haavoittuvuuksia (CVE-2026-109618 ja -109619, lempinimeltään “PHP2Shell”) käsiteltiin koordinoidun julkistamisen periaatteella. Tiedot ja PHP:n korjaukset oli tarkoitus julkaista samaan aikaan torstaina embargon päättyessä. Embargon aikana muun muassa Linux-jakelut ja tietoturvayhtiöt valmistelevat omia paketteja ja suojauksiaan hiljaisuudessa, jotta päivitykset ovat kaikkien saatavilla heti, kun asia tulee julki.

Sitten tieto vuoti. Hacker Newsiin ilmestyi viesti, joka on sittemmin poistettu. Siinä väitettiin, että kaksi kriittistä PHP:n etäsuoritushaavoittuvuutta julkistetaan pian. Tietoturvayhtiö watchTowr vahvisti tämän jälkeen, että haavoittuvuudet ovat todellisia ja että tietoa oli vuotanut ennen sovittua ajankohtaa.

Vuodon jälkeen PHP-tiimi aikaisti korjausta. Tiimi ilmoitti tiistai-iltana tulevasta kriittisestä tietoturvajulkaisusta ja siirsi korjausten julkaisun keskiviikolle klo 14:00 UTC. Ennakkoilmoitus ilman teknisiä yksityiskohtia oli tässä tilanteessa järkevä ratkaisu. Kun vakavuus ja aikataulu olivat jo julkisia, hyökkääjät tiesivät, paljonko aikaa oli jäljellä. Ylläpitäjät taas pystyivät inventoimaan palvelimensa ja olemaan valmiina päivittämään. Teknisiä tietoja, haavoittuvia versioita ja korjattuja julkaisuja PHP ei kertonut etukäteen, vaan lupasi ne vasta päivitysten mukana.

Kaikkea ei kuitenkaan ehditty pelastaa. Raporttien mukaan hyökkääjät käyttävät jo hyväkseen ainakin yhtä haavoittuvuuksista, koska tiedot vuotivat ennen korjauksia. Riski ei myöskään poistu heti korjausten julkaisun jälkeen. Hyökkääjät tutkivat korjauksen nopeasti ja alkavat usein jo vuorokauden sisällä iskeä palvelimiin, joita ei ole päivitetty.


Lyhyesti: ongelma ei ollut se, että asiasta kerrottiin ennen korjausta. Joku rikkoi embargon, ja PHP-tiimi reagoi siihen kiirehtimällä korjausta ja varoittamalla ylläpitäjiä. Jos ylläpidät itse PHP:tä ajavaa palvelinta, se kannattaa päivittää nyt. Vaarassa ovat käytännössä kaikki web-pyyntöjä palvelevat asennukset, kuten PHP-FPM, Apache mod_php:n kanssa, php-cgi, FrankenPHP ja LiteSpeed.
 
Tarkennatko milloin?
Haavoittuvuus julkaistiin 20.10. illalla ja korjaus 21.10. iltapäivällä/illalla. Kummastakaan minulla ei ole tarkkaa ajankohtaa.

E: ehkä haavoittuvuuden osalta pitää sanoa "tuli julki" eikä "julkaistiin", mutta ainakin eu-cert -sivuston mukaan julkistettiin 20.10.:

On 20 October 2026, the PHP project announced an upcoming security release addressing two critical vulnerabilities
 
Monikohan tuossa korjauksessaan myöhästyy => sivusto rikotaan ja valjastetaan ihan muuhun käyttöön. Tai koska tuo mahdollistaa vieraan koodin ajamisen, niin tiedä vaikka omistaja menettäisi sivustonsa adminin ihan kokonaan, niin paikkaappas siinä sitten. Tai ehkä karmeimmillaan sivustolla ei tapahdu mitään näkyvää, vaikka sinne onkin ujutettu haitallista koodia ja näin tuo haitake pääsee tekemään sitä omaa tuhoaan hiljaisesti taustalla.

Ehkäpä turvallisinta onkin vaan ihan suosiolla pudottaa sivut alas, asentaa koko softa uudelleen puhtaalta medialta ja paikata tuo PHP siitä ennen kuin tuo sivunsa jälleen julkisuuteen.
 
Joo, varoitus tuli jo paljon ennen julkaisua ja sivuilla oli vaan tieto "olemme julkaisemassa" tyyliin. Fixi tuli Suomen aikaa jotain viiden paikkeilla. Sen takiahan mm. Valtori ajoi kaikki alas päiväksi
 
AI on mahdollistanut mm. sen, että nykyään mediaaniaika siitä kun haavoittuvuus tulee yleiseen tietoon, siihen että on hyökkäys ko. haavoittuvuutta vastaan, on nykyään vain pari päivää. Kriittisissä haavoittuvuuksissa jopa vähemmän.
 
Joo, varoitus tuli jo paljon ennen julkaisua ja sivuilla oli vaan tieto "olemme julkaisemassa" tyyliin. Fixi tuli Suomen aikaa jotain viiden paikkeilla. Sen takiahan mm. Valtori ajoi kaikki alas päiväksi
Varmasti ne tahot, joilla oli tieto ja kyky tuota haavoittuvuutta käyttää iskivät välittömästi, koska "hetkeä myöhemmin" kohteiden suojaustaso tuolle haavoittuvuudelle nousee.
 
On tuo kyllä aika erikoinen kuvio, miten riippuvaisia ollaan ihan maailmanlaajuisestikin jostain yksittäisestä softapulikasta 😒

1792651413191.webp
 
Samanaikaisesti usko sertifikaattien luotettavuuteen horjahti pahemman kerran, kun paljastui intialaisen CA:n käyttäneen bittejä perin säästeliäästi. Mainiota meemimateriaalia sekin.

-----BEGIN RSA PRIVATE KEY-----
4
-----END RSA PRIVATE KEY-----

1792685321692.webp


1792685397820.webp
 
Toki todennäköisyys sille että generoitu random arvo on 4 on ihan sama kuin kaikille muillekin mahdolllisille arvoille.
 
Jäi tähän ketjuun mainitsematta aiemmin, mutta nyt kun ketju nousi uudelleen pintaan, niin mainittakoot, että tälle sivustolle PHP korjaus tuli käyttöön jo keskiviikkona iltapäivästä.
 
Totta, mutta tässä tapauksessa kahdeksan <256 luvun generointi on jo käytännössä mahdottomuus.
Toki, jos sinne on asetettu jotain arvoja joita se ei saa olla, mutta jos se on random arvo välillä 00000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, niin arvon 00000000000000000000000000000004 eli 4 todennäköisyys on ihan sama kuin minkä tahansa muun.

Se että ihmisestä helposti tuntuu että siltä errä jokin luku ei ole satunnainen, johtuu siitä että ihmisen intuitio löytää tehokkaasti jatkuvuutta sielläkin missä sitä ei ole.

Mä olen joskus verrannut tuota lantin heitossa kymmeneen klaavaan peräkkäin. Intuitio sanoo että tuo on lähes mahdotonta, käytännössä se ei todellakaan ole mahdotonta, vaan yllättävänkin helposti toistettavaa.
 
Toki, jos sinne on asetettu jotain arvoja joita se ei saa olla, mutta jos se on random arvo välillä 00000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, niin arvon 00000000000000000000000000000004 eli 4 todennäköisyys on ihan sama kuin minkä tahansa muun.

Se että ihmisestä helposti tuntuu että siltä errä jokin luku ei ole satunnainen, johtuu siitä että ihmisen intuitio löytää tehokkaasti jatkuvuutta sielläkin missä sitä ei ole.

Mä olen joskus verrannut tuota lantin heitossa kymmeneen klaavaan peräkkäin. Intuitio sanoo että tuo on lähes mahdotonta, käytännössä se ei todellakaan ole mahdotonta, vaan yllättävänkin helposti toistettavaa.
Joo, tämä on täysin totta että ainostaan ihminen näkee irralliset lantin heitot peräkkäisinä, toisiinsa kytköksissä olevina asioina, vaikka todellisuudessa asia ei tietenkään niin ole.

Tässä serifikaattitapauksessa arvossa lienee pakko olla jotain rajoituksia, koska pienimmät luvut on brute-forcella hyvin äkkiä käyty läpi, jos vaan tulee mieleen kokeilla.
 
Tässä serifikaattitapauksessa arvossa lienee pakko olla jotain rajoituksia, koska pienimmät luvut on brute-forcella hyvin äkkiä käyty läpi, jos vaan tulee mieleen kokeilla.
Toisaalta jos sinne laitetaan jokin pienin sallittu arvo se bruteforce aloitetaan sitten siitä, jolloin tuo ei ratkaise ongelmaa mitenkään.
 
Toisaalta jos sinne laitetaan jokin pienin sallittu arvo se bruteforce aloitetaan sitten siitä, jolloin tuo ei ratkaise ongelmaa mitenkään.
Tämä on täysin totta, ei ole missään mielessä aukoton ratkaisu. Mutta kuka sitten tietää pienimmän arvon, on toinen asia.
 
Toki, jos sinne on asetettu jotain arvoja joita se ei saa olla, mutta jos se on random arvo välillä 00000000000000000000000000000000-FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, niin arvon 00000000000000000000000000000004 eli 4 todennäköisyys on ihan sama kuin minkä tahansa muun.

Se että ihmisestä helposti tuntuu että siltä errä jokin luku ei ole satunnainen, johtuu siitä että ihmisen intuitio löytää tehokkaasti jatkuvuutta sielläkin missä sitä ei ole.

Mä olen joskus verrannut tuota lantin heitossa kymmeneen klaavaan peräkkäin. Intuitio sanoo että tuo on lähes mahdotonta, käytännössä se ei todellakaan ole mahdotonta, vaan yllättävänkin helposti toistettavaa.
Tässä puhutaan nyt aivan eri mittakaaavan todennäköisyyksistä. Yksittäisen luvun sattuminen olisi käsittämättömän epätodennäköistä vaikka sitä arvattaisiin miljardi kertaa sekunnissa koko maailmankaikkeuden iän ajan. Toistaiseksi on löytynyt jo 8 eMudhran myöntämää sertifikaattia jotka ovat 8-bittisiä lukuja.

Ihmisille todennäköisyyksien hahmottaminen on tosiaan vaikeaa.
 
Tässä puhutaan nyt aivan eri mittakaaavan todennäköisyyksistä. Yksittäisen luvun sattuminen olisi käsittämättömän epätodennäköistä vaikka sitä arvattaisiin miljardi kertaa sekunnissa koko maailmankaikkeuden iän ajan. Toistaiseksi on löytynyt jo 8 eMudhran myöntämää sertifikaattia jotka ovat 8-bittisiä lukuja.

Ihmisille todennäköisyyksien hahmottaminen on tosiaan vaikeaa.
Sen yksittäisen luvun sattuminenhan on ihan yhtä todennäköistä kuin minkä tahansa muunkin luvun, mutta jos noita sertifikaatteja on useampia noin pienellä luvulla on ihan selvää että ne ei ole satunnaisia..
 
Eihän se ehkä ihan niin suuri ongelma ole jos arvoja olisi rajallinen määrä suuremmasta joukosta.
Mutta noiden paljastusten jälkeen se on erittäin suuri ongelma.
Hakkerihan kokeilee heti ensimmäisenä arvoa 4 ja muut 8-bittiset luvut.
 
Sen yksittäisen luvun sattuminenhan on ihan yhtä todennäköistä kuin minkä tahansa muunkin luvun, mutta jos noita sertifikaatteja on useampia noin pienellä luvulla on ihan selvää että ne ei ole satunnaisia..

Ongehan tosiaan tulee tästä että kun löytyy liian monta lähes samanlaista avainta niin niiden arvontamekanismissa on jokin vika, joka tekee avaimista liian helppoja arvata saatuijen tietojen perusteella.

On myös enemmän kuin yksi tapaus, jossa salasanan tarkastuksessa oli sellainen virhe että oikean salasanan lisäksi kelpasi tyhjä salasana. Mutta eipä sitäkään kukaan arvaa ellei mene kokeilemaan.
 
Viimeksi muokattu:
Takaisin
Ylös Bottom