Byla vydána nová verze 1.13.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.
Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.
Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
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: