Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.
Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.
Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.
Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.
UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.
Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Jsem zakladatelem tohoto portálu. Linux jsem používal spousty let, nějaký čas jsem se aktivně podílel na jeho propagaci v Česku (CZLUG, časopisy ComputerWorld, Network Magazine atd). Se současným Abíčkem už nemám nic společného.
Dominik Joe Pantůček mě upozornil na závažnou díru v Abíčku. Sice jsem se o ni doslechl už dříve, ale teprve teď jsem si dokázal konkrétně představit, jak by se dala zneužít. S Joem jsme pak našli algoritmus, který by měl být dostatečně odolný.
Konkrétně šlo o to, že do parametru SRC bylo možno vložit speciální URL na provedení nějaké akce. Například byste do blogu přidali obrázek, jehož adresa by byla rovna odeslání komentáře s textem Leoš tam má díru. Každý, kdo by si blog otevřel, by okamžitě k němu přidal tento komentář. Nebo by šlo dělat skrytější akce, například hlasování v anketě, hodnocení blogu či smazání nového článku (pokud by si blog otevřel admin).
Teď jsem měl několik možností, jak situaci vyřešit. Například úplně zakázat obrázky, nebo povolit jen obrázky umístěné na abclinuxu v bezpečných adresářích. Vzhledem k možnosti redirektu totiž nemělo smysl považovat jakákoliv URL mimo abíčko za bezpečná. Ale nechtěl jsem omezovat uživatele a proto jsem se vydal jinou cestou - kontrolovat všechny akce, zda jsou volány tak, jak by měly být volány.
S Joem jsme došli k názoru, že útok na abíčko by musel jít jen přes GETové linky, tudíž první fronta obrany je ověření, zda akce přišla jako POST. Nicméně existuje poměrně dost akcí, které nejsou ve formuláři, ale jako odkazy. Například zmražení diskuse nebo hodnocení článku. Pro ně jsem musel vytvořit koncept ticketu, který je přiřazen ke každému uživateli. Pokud tedy akce může přijít jako GET, kontroluji, zda je vyplněn správný ticket. Ten je tajný a útočník se k němu nemůže dostat, leda chybou uživatele. A i pak by šel udělat útok na konkrétního uživatele, ale už ne obecný na všechny uživatele. Další obranou je kontrola referera. Ověřuji, zda předchozí stránka byla formulář či nikoliv.
Abíčko je velmi, ale opravdu velmi rozsáhlé a proto obsahuje spousty různých akcí a situací. Co platí pro jednu akci, pro druhou neprojde. Takže metoda ActionProtector.ensureContract()
má čtyři přepínače, které určují, co se má kontrolovat. Využitých kombinací je většina.
Závěrem chci poděkovat Joeovi za pomoc. Pokud narazíte na další problém, prosím dejte mi vědět, pokusím se jej opravit.
PS. dostanete-li chybu Chybné volání akce, přečtěte si FAQ. Možná je chyba na vaší straně.
Tiskni
Sdílej:
popr nejaký perfekcionista, ktorému vadí, že tam vôbec nejaká chyba bola ...
Třeba nemá rád 100% čistotu, hodnotu atd.? Pak snad ale může ještě nehlasovat.