Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.
Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Současné vývojové jádro je 4.15-rc3, vydané 10. prosince. Linus řekl: „Nemám radost z velikosti raných kandidátů na vydání 4.15, ale rc3 často bývá největší, protože je to stále poměrně brzo v té části, kdy se věci uklidňují, přitom ale lidé už měli dostatek času na to, aby začali nacházet problémy. I tak je tento rc3 příliš velký i podle standardů rc3. To není dobré.“ Od vydání 4.15-rc2 bylo začleněno 489 sad změn.
Stabilní aktualizace: 4.14.5, 4.9.68, 4.4.105 a 3.18.87 byly vydány 10. prosince. Další aktualizace 4.14.6 a 4.9.69 byly v době psaní tohoto článku v procesu revidování a vyšly 14. prosince.
Stojí za přečtení: tento příspěvek v blogu APNIC od Marka Nottinghama o nejbližším vývoji různých internetových protokolů. „Nejnovější změnou na obzoru je DOH – DNS over HTTP. Významné množství výzkumu ukázalo, že sítě běžně využívají DNS jako prostředek k vynucování pravidel (ať už ve jménu poskytovatele nebo vyšší autority). O obejití kontroly tohoto typu pomocí šifrování se již delší dobu mluví, ale má to nevýhodu (alespoň z některých úhlů pohledu) – jde to oddělit od ostatního provozu, například zablokovat přístup na portu s příslušným číslem. DOH to řeší tak, že nasadí DNS provoz na stávající HTTP spojení, čímž zruší jakoukoli diskriminaci.
MAP_FIXED_SAFE. Jonathan Corbet. 13. prosince 2017
Volba MAP_FIXED systémového volání mmap() procesu umožňuje určit, že k mapování má dojít na dané virtuální adrese, je-li to možné. Ukazuje se však, že „je-li to možné“ napáchá o něco více vedlejších škod, než by se některým líbilo, a dokonce může vést ke zneužitelným zranitelnostem. Nová, bezpečnější volba se připravuje, ale jak tomu často bývá, narazila na nějaké netechnické obtíže.
Každé volání mmap() umožňuje volajícímu procesu určit adresu, kde má se má provést mapování. Za běžného provozu je však tato adresa pouze nasměrování, které jádro klidně může ignorovat. MAP_FIXED je tu pro případy, kdy k mapování opravdu musí dojít na požadované adrese, nebo nebude aplikace fungovat. Jádro tento příznak bere vážně až do té míry, že pokud v daném adresním rozsahu už je jiné mapování, zničí ho, aby se udělalo místo pro mapování nové. Na první pohled to může vypadat jako podivná sémantika: jestliže aplikace chce mapování v dané oblasti, asi by měla být schopná převzít zodpovědnost za to, že na požadované mapování bude místo. Ale volání mmap() je takto nastaveno, čili se děje, co se děje.
Asi není třeba dodávat, že to může být problematické v situaci, kdy aplikace neví o konfliktu mapování – něco, co by mohlo nastat jako výsledek chyby, randomizace rozložení adresního prostoru, neshody mezi knihovnami nebo záměrné manipulace útočníkem. Data obsažená v tomto mapování (nebo alespoň v překrývající se části), budou tiše zahozena a na jejich místě se objeví nové mapování. Podle očekávání není příliš pravděpodobné, že po takové akci bude všechno fungovat správně. V některých případech jsou výsledkem bezpečnostní zranitelnosti, viz například CVE-2017-1000253, kdy bylo interní použití MAP_FIXED v jádře za účelem načtení programů do paměti zneužito k poškození zásobníku.
Řešení se dá najít v sadě patchů MAP_FIXED_SAFE od Michala Hocka. Přidává nový příznak mmap(), který se jmenuje – překvapení – MAP_FIXED_SAFE. Jeho sémantika se podobá MAP_FIXED s jednou výjimkou: operace selže, není-li cílový rozsah adres volný. Načítání ELF v jádře je upraveno, aby tento nový příznak používalo při mapování programů do paměti. Tím pádem nahrávání programu v případě kolize dvou mapování selže, ale je to ta lepší varianta. Očekává se, že nový kód bude používat tento příznak téměř ve všech případech a že starší programy na něj nakonec také přejdou.
Někteří navrhli přidat samostatný příznak, který by změnil chování MAP_FIXED, takže aplikace by volání mmap() předaly něco jako MAP_FIXED|MAP_SAFE. Problém s tímto přístupem je, že mmap() je jedno z těch systémových volání, která nikdy neřešila neznámé příznaky. Program používající tuto konstrukci by se tím pádem na starších jádrech, které postrádaly podporu nového příznaku MAP_SAFE, tiše vrátil zpět k MAP_FIXED. Použití nového příznaku znamená, že ačkoliv na starších jádrech aplikace nedosáhne kýženého selhání, nebude-li adresní prostor dostupný, nebude zároveň ani sahat do žádných dalších mapování (protože zadaná adresa bude jádrem považována za nezávazné nasměrování).
Tato změna je více méně připravena a Hocko požádal o její začlenění. Je tu ovšem zásadní otázka, která je příčinou největší části debat o této řadě patchů: pojmenování MAP_FIXED_SAFE. Různí vývojáři by z různých důvodů rádi jiný název. Mezi návrhy zaznělo MAP_FIXED_UNIQUE, MAP_FIXED_NOREPLACE, MAP_FIXED_NO_CLOBBER, MAP_TANTRUM, MAP_EXACT, MAP_NOFORCE aj. Byl to právě ten druh diskuze, kdy se již podařilo vyřešit technické problémy, ale každý se chce podepsat pod finální výsledek.
Poté, co Hocko přežil velkou část diskuze, oznámil své vlastní rozhodnutí o jméně:
„Obávám se, že bychom to mohli řešit donekonečna a stejně by se našel někdo, kdo se snaží najít lepší název. Proto jsem se rozhodl držet se svého původního MAP_FIXED_SAFE. Proč? No, protože název si drží prefix MAP_FIXED, který by měl být vývojářům známý, a sufix _SAFE dává najevo, že všechny nebezpečné vedlejší účinky starého MAP_FIXED jsou pryč.Také prohlásil, že každý, kdo byl se jménem skutečně nespokojen, mohl zablokovat tento patch a nějakým způsobem dospět ke konsenzu na lepším, ale že on už se toho účastnit nebude. Takže přirozeně se někdo takový našel, kdo protestoval, a Hocko mu popřál hodně štěstí s převzetím odpovědnosti za patch.
Vzhledem k nátuře zúčastněných by si někdo mohl myslet, že dojde k zablokování užitečného patche. Autor článku by se však vsadil, že sada patchů MAP_FIXED_SAFE bude začleněna ve zhruba stejném stavu, v jakém se aktuálně nachází. Řeší totiž skutečný problém. Zdržování a hledání perfektního jména se nezdá jako přístup, který by komukoliv prospěl.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: