Cloudbleed: CloudFlare leaked passwords, 2FA secrets, full HTML in plaintext.

Big-name websites leaked people's private session keys and personal information into strangers' browsers, due to a Cloudflare bug uncovered by Google researchers.
As we'll see, a single character – '>' rather than '=' – in Cloudflare's software source code sparked the security blunder.

This leak was triggered when webpages had a particular combination of unbalanced HTML tags, which confused Cloudflare's proxy servers and caused them to spit out data belonging to other people – even if that data was protected by HTTPS.

Még a végén kiderül, hogy mégsem olyan jó ötlet az internet 20%-át egy cégen keresztül kiszolgálni...

https://www.theregister.co.uk/2017/02/24/cloudbleed_buffer_overflow_bug…
https://bugs.chromium.org/p/project-zero/issues/detail?id=1139
https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cl…

Hozzászólások

Mar egy-ket eve mondogatom: ha valaki system programming-ra akarja adni a fejet, alljon neki Rust-ot tanulni, nagyon valoszinutlen, hogy nem az lesz a jovo. Garantalt* memory safety nelkul ezek a bugok elkerulhetetlenek, tehat elobb-utobb mindenki ra fog jonni, hogy nem C-ben kellene irni kritikus komponenseket.

* garantalt := a compiler megfogja lenyegeben az osszeset, tehat a fentebb is lathato elcimzeses hibak, meg buffer overflow-k nem jelentenek problemat.

----------------------
while (!sleep) sheep++;

Meg goto sincs Rust-ban. :)

Gyanítom egyébként, hogy nem megfelelően volt ellátva a kód tesztekkel. Írják is, hogy az incidens után: "Another team built test cases from malformed web pages found in the wild.". Nem érhette őket annyira váratlanul az, hogy léteznek szarul megírt weboldalak. :D

Nyilvan abban a 2% C kodban is lehet hiba vagy a felhasznalt nem-Rust libekben, de ez maris jelentosebb jobb, mint a C-ben irt dolgok esetben.

Ettol fuggetlenul nyugodtan kijelenthetjuk, hogy ha Rust-ban irtak volna meg a topicindito programot, akkor nem tortent volna meg a hiba.

Azt ugye érted, hogy összességében nem az a 2% C kód generálja a gépikódokat? Ráadásul egy tisztán Rust kód által összelegózott binárisnál se garantálná önmagában semmi, hogy a létrejövő gépikódokban ettől még valóban nem lehetnek memóriakorrupciós hibák. Attól, hogy a nyelvnél és a design tekintetében törekednek arra, hogy memory safe legyen, attól még a processzor továbbra sem képes az array elemek határainak kezelésére, se a pointerek referenciáinak ellenőrzésére. Vannak ugyan már rá törekvések (pl. Intel MPX), de ezek csak debugging eszközökként használhatók, nem elég jók éles használatra.

Ilyen okosságokat ki lehet jelenteni, hogy ha Rustban lenne írva, akkor nem történt volna meg ez a hiba, csak semmi értelme. Sőt, ha bármi másban írták volna meg, akkor is kijelenthetjük, hogy ez a hiba nem történt volna meg, mert nagyon kicsi rá az esély, hogy más programozási nyelvben pont ugyanez a hiba jöjjön így elő. A jelenlegi hibánál is egy komplex, több összetevős kódhalmaz okozta a bonyodalmat. A Ragel önmagában nem generált helytelen C kódot.

Ettől függetlenül a Rust->gépikód transzláció során továbbra is kerülhet memóriakorrupció a programokba és attól is meglehetősen távol vagyunk, hogy tisztán Rustban írt szoftvereket használjunk a közeljövőben. A határok persze eltolódhatnak majd és a memóriakorrupciós hibák kihasználása is visszább szorulhat, de ez már jelenleg is látszik a PaX által kitalált védelmek előretörésének köszönhetően, mert egyre több logikai hibát használnak ki a támadások során és nem csak tisztán memóriakorrupcióra alapoznak (lásd idei Pwn2Own).

Every language has its ideal use case. #PHP, web pages. #Golang, network services. #Python, science data. C, security vulnerabilities.

- via

Konkluziohoz hozzateve, ez csak szamomra volt nyilvanvalo, hogy nem jo ?

Soha nem megyek a 100 millio legy utan.

http://karikasostor.hu - Az autentikus zajforrás.

Erről irtak már a ycombinator topic-ban is, "másoknál is van hiba látod" mentséget élvezhetik most igy sokan, mig egy kis szolgáltatónál te lennél a hülye, hogy nem láttad előre.

(Mindemellett én is nagyobb zsirosbödönként tekintek az ilyen méretű szolgáltatókra, de ezt csak támadásokra vonatkozóan, nem önhibákra.)

Még a végén kiderül, hogy mégsem olyan jó ötlet az egész internetet nagyvállalatok központosított cloud szolgáltatásaitól függővé tenni és a forgalmat adatközpontokból kiszolgálni. Rég lehetne értelmes P2P alternatíva, ha valaki 1%-át beleinvesztálná a Google profitjának (Persics Mérnök Úrnak szeretettel: Igen, a kommunista megint más pénzét akarja költeni.) :P