Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »
Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit
… více »Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.
Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.
FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.
Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.
Bezpečnost GitHub a projektů postavených nad Ruby on Rails byla narušena. Egor Homakov upozornil na vážné bezpečnostní problémy Ruby on Rails. Chyby prezentoval na projektu GitHub. Dělal si co se mu zachtělo. Zahlásil chybu z roku 3012 (I'm Bender from Future), dokázal smazat libovolný příspěvek, provádět změny v hlavní větvi, smazat celou historii projektu nebo přiřadit svůj veřejný klíč k libovolnému projektu. Více například na Posterous (také má problém). Vyjádření GitHub v oficiálním blogu.
Tiskni
Sdílej:
Ano, kdyby chtěl, mohlHmmm, a wo to tady asi go, že...
K čemu bude dobré, když whitelist/blacklist bude výchozí chování?Třeba to pochopíte tady.
uživatelská_role na blacklist (resp. nedám na whitelist), tak ani administrátor nebude moci měnit role uživatelů, což právě potřebujeme. A když tenhle atribut na blacklist nedáme (resp. dáme na whitelist), bude moci administrátor moci měnit role, ale uživatel taky (za předpokladu, že může měnit tu entitu jako takovou – což předpokládám že může, protože si např. může změnit jméno, příjmení, e-mail atd.).
OK, tak to je fajn
Nicméně stejně je to málo
DELETE FROM tabulka; a pak se divil, že databázový systém skutečně smazal všechny záznamy v dané tabulce.
Takže abych to shrnul. Ve Springu bezpečnostní chyba není (alespoň co je mi známo). Chyba ale může vzniknout při jeho neopatrném používání. Doufám že se zítra nedočtu, že je závažná chyba v Oraclu. Doslechl jsem se, že umožňuje zavolat DROP SCHEMA a to může mít závažné následky na integritu dat.Souhlas
projektů postavených nad Ruby on Rails byla narušena.Chybí mi tam některých projektů. Kdejaký tutorial k Rails popisuje, že v definici modelu má být nastaveno attr_accessible, jinak hrozí přesně to, na co upozornil Homakov. Tzn. pokud ty "projekty" píše někdo, kdo si přečetl a pochopil aspoň nějaký tutorial (zjevně není případ programátorů GitHubu), tak se ho tahle záležitost vůbec netýká.
Pokud něco nenastavím, tak předpokládámNo a to je ten problém. Dokud předpokládáš, nemůžeš se divit, když něco uděláš blbě. Pokud chceš pracovat s nějakým frameworkem, měl bys vědět
Ve výchozím stavu se přijímají všechna spojení a to i když máš v systému iptables – až když si nastavíš příslušná pravidlaNe, to je fakt marné. Víte, v normální distribuci jsou nastavená rozumná defaultní pravidla pro ten firewall, ať už se k tomu používá ufw, shorewall, firestarter nebo cokoliv dalšího. Ano, samotné iptables nedělají nic, to by opravdu blbej neřek.
Ale hlavně: když programátor řekne: „naplň všechny atributy objektu“ tak co to proboha má udělat jiného než naplnit všechny atributy objektu??Ale hlavně vidím, že jste ani po celodenní debatě nepochopil podstatu problému, on programátor nic takového neříká, on si to dokonce ani většinou nepřeje. Akorát to holt bylo defaultně debilně nastaveno a nic ho nenutilo to nastavovat jinak.
nějakýObjekt.update_attributes(…)tak co od toho čeká? Že to nastaví všechny atributy objektu nebo jen některé?
Když programátor v RoR napíšeA když scaffold generátor v RoR napíše?
ještě jsem se tím neprokousal, tak zatím jen teoreticky: vytvořím si nějaký model a generátor mi k tomu udělá formuláře a kód pro zpracování odpovědí z těchto formulářů. V této fázi jsou ve formuláři všechny atributy a všechny může uživatel měnit, je to tak?
Pokud ano, tak v další fázi si třeba programátor řekne, že některé atributy měnit nepůjdou a smaže je z HTML formuláře. Vážně si někdo myslí, že když ve formuláři to pole nebude, že nepůjde poslat ten původní POST, ve kterém bylo?
Podotýkám, že nejsem programátor v ROR, ale jestliže programátor opravdu použil fci na předání všech parametrů, tak se potom opravdu nemůže divit, že to předalo všechny parametry. A jestli je to zabezpečení dokonce i v tutoriálu, tak už je to jednoznačně chyba na straně programátorů. Nebo ta fce dle dokumentace nemá předávat všechny parametry?
K tomu FW. Tohle má každá krabička jinak (například RouterOS má default policy na ACCEPT a ve výchozím nastavení, nebo při prázdné konfiguraci filtru to opravdu vše propustí). Je věcí administrátora, aby to nastavil. K těm "rozumným defaultním pravidlům" v distribucích. Ehm, pokaždé se do nich musí sáhnout. Pokaždé. Abych to shrnul, do každé krabičky a do každého fw se musí sáhnout bez ohledu na jeho výchozí nastavení a to konečné nastavení je tak zcela v režii administrátora.
Nevím, jak předchozí odstavec pasuje na ruby, možná by to chtělo výchozí hodnoty nastavit tak, aby (pokud je to opravdu takový problém a ani tutorial nestačí) do toho musel pokaždé (tj při každém použití té fce explicitně definovat co předat) programátor sáhnout.
Nevím, jak předchozí odstavec pasuje na ruby, možná by to chtělo výchozí hodnoty nastavit tak, aby (pokud je to opravdu takový problém a ani tutorial nestačí) do toho musel pokaždé (tj při každém použití té fce explicitně definovat co předat) programátor sáhnout.Pokud chce nastavit jen něco, tak může napsat kód ve smyslu:
nějakýObjekt.setA(požadavek.getParameter("A"));
nějakýObjekt.setB(požadavek.getParameter("B"));
nějakýObjekt.setC(požadavek.getParameter("C"));
Nebo použít nějaký filtr na původní sadu parametrů a filtrovaný výsledek nastavit hromadnou funkcí. Nebo použít whitelist/blacklist na úrovni objektu. Ale když nic z toho neudělá, tak mi přijde celkem přirozené, že se nastaví vše, kde se podaří spárovat jména atributů a parametrů.
Už na začátku jsem se ptal, jestli programátor definuje ve frameworku formulář a framework všechno ostatní vygeneruje, nebo jestli si to píše ručně (tudíž tu není nějaká pevná vazba mezi formulářem a kódem, který ho přijímá a framework tudíž nemůže vědět, jaké parametry tam programátor chtěl a jaké ne) a nějaký rubista mi na to napsal, že je to ta druhá varianta. Kdyby to byla ta první, tak ano, to bych bral jako chybu frameworku, protože ten mohl vědět, která políčka jsou ve formuláři a ostatní POST parametry (podstrčené útočníkem) zahodit.
může napsat kód ve smyslu
Tak to je jasné a o tom tamhle debata asi není. Jak tak čtu ostatní komentáře, tak mi to tak trochu připadá jako kdyby programátor chtěl použít jednořádkovou (protože je líný to vyjmenovávat, stejně jako klasická SQL "chyba" SELECT *) fci: "naplň všechno co můžeš, ale udělej to v dané situaci rozumně a bezpečně".
Což je už požadavek na umělou inteligenci.
protoze tu chybu v realnem svete drice ci pozdeji nekdo udela.... a bude to jenom jeho chyba
Nesmysl. Defaultni nastaveni musi maximalne restriktivni. Pokud toto zasadni pravidlo bezpecnosti systemu v Rails nerespektuji, je treba se jich vyvarovatBohužel, asi bude lépe se jim skutečně vyhnout. Toto je totiž jejich představě o opravě toho průseru. Whitelist all attribute assignment by default. Juch!
Collections.copy(cíl, zdroj);A ti sprosťáci dokonce do dokumentace napsali:
Copies all of the elements from one list into another.Přitom by jeden čekal, že ta metoda zkopíruje jen některé položky, nebo spadne, že?
Jinak, komentoval jsem o kus níž (viz :without_protection), tohle se tam IIRC obojí dostalo současně ve verzi 3.1, přijde mi to tak nějak jako "uff, furt nás někdo prudí z bezpečností, tak tam dáme config.active_record.whitelist_attributes, no ale radši to defaultně zakomentujeme a kdyby to snad někdy někdo nedejbože odkomentoval, tak tam přihodíme :without_protection, aby to ten BFU nemusel moc studovat a moh to rychle vypnout. Hmmmm.
Jen fakt nevím, jestli nutně potřebujeme, aby tady bylo něco, v čem každej BFU udělá "blog za 15 minut". Hmmmm
Jó pokud někdo moc spolehá na framework, tak si nabije tlamu....
zabránilo by to lamerům programovat,Kazdy dela chyby, clovek se zkusenostma mene (nebot jich uz ma za sebou plno). Tady jde o to, ze tvurci Rails nerespektuji princip restrive-by-default a to je z hlediska bezpecnosti cesta do pekla.
Model.new(params[:model], :without_protection => true)> Jeeee, supeeer, už to fičí, dík! Proč tam někdo takovéhle pakárny implementuje, jde fakt mimo mě. Opravdu by byl takový problém, kdyby programátor musel "zvednout zadek" a udělat tohle?
class Model < ActiveRecord::Base attr_accessible :foo, :bar, :baz, :as => :admin attr_accessible :foo, :as => :bfu end ... Model.new(params[:model], :as => :bfu)
$ perl -le'/(??{s!!!})/'
Neoprávněný přístup do paměti (SIGSEGV)
perl -le'/(??{s!!!})/'
Segmentation fault (core dumped)
Tak, tak, to je zname!
Ano, je to známé:
Because perl's regex engine is not currently re-entrant, delayed code may not invoke the regex engine either directly with "m//" or "s///"), or indirectly with functions such as "split".
nastesti to neni vystavene ven.
Potřebuju nějakej monitor se stěračem, dnes už utírám potřetí!
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
at GregorSamsa.applyTemplates()
at GregorSamsa.applyTemplates()
|#]
To je asi nadlouho, anžto ani jeden z jazyků mi nic neříká, nicméně ten ocsigen server určitě někde pokusně zkusím zprovoznit, koukám, že v Debianu je balíček, tak by snad pod Mintem neměl být problém.