{"id":184011,"date":"2026-10-27T11:40:44","date_gmt":"2026-10-27T09:40:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/uyazvimosti-v-rust-bibliotekah-zip-rs-i-librsvg"},"modified":"2026-10-27T11:40:49","modified_gmt":"2026-10-27T09:40:49","slug":"vulnerabilities-in-rust-libraries-zip-rs-and-librsvg","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/vulnerabilities-in-rust-libraries-zip-rs-and-librsvg","title":{"rendered":"Luki w bibliotekach Rust zip-rs i librsvg","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>W bibliotece zip-rs, napisanej w j\u0119zyku Rust i z oko\u0142o 10 milionami pobra\u0144 tygodniowo, wykryto luk\u0119 (CVE-2026-115905), kt\u00f3ra pozwala na tworzenie archiw\u00f3w, kt\u00f3re wygl\u0105daj\u0105 na niegro\u017ane, ale po dekompresji zawieraj\u0105 inne pliki, pocz\u0105tkowo niewidoczne na li\u015bcie. Pliki mog\u0105 by\u0107 umieszczone w archiwum poza struktur\u0105 \u201eCentral Directory\u201d, co powoduje, \u017ce podczas przegl\u0105dania listy plik\u00f3w wy\u015bwietlane jest inne zawarto\u015b\u0107, ale po dekompresji przez API ZipStreamReader wydobywane s\u0105 inne pliki. Problemowi przypisano poziom niebezpiecze\u0144stwa 10 na 10. Luka zosta\u0142a naprawiona w wersji zip-rs 9.0.5.<\/p>\n<p>Luka jest spowodowana u\u017cywaniem r\u00f3\u017cnych nag\u0142\u00f3wk\u00f3w przy dowolnym dost\u0119pie do archiwum za pomoc\u0105 API ZipArchive oraz podczas ekstrakcji danych w trybie strumieniowym przy u\u017cyciu API ZipStreamReader. Obs\u0142ugiwane przez ZipArchive polega na nag\u0142\u00f3wku CDFH (Central Directory File Header), a ZipStreamReader przy ekstrakcji plik\u00f3w uznaje za priorytetowy nag\u0142\u00f3wek LFH (Local File Header) bez synchronizacji powtarzaj\u0105cych si\u0119 metadanych.<\/p>\n<p>Luka ta mo\u017ce by\u0107 wykorzystywana do omijania filtr\u00f3w pocztowych, skaner\u00f3w wirus\u00f3w i innych system\u00f3w kontroli bezpiecze\u0144stwa. Atakuj\u0105cy mo\u017ce umie\u015bci\u0107 w widocznej cz\u0119\u015bci archiwum dokument lub obrazek, a w ukrytej umie\u015bci\u0107 plik wykonywalny z z\u0142o\u015bliwym kodem, kt\u00f3ry nie zostanie wykryty przez antywirus, ale zostanie zapisany na dysku podczas dekompresji przez u\u017cytkownika. Jako przyk\u0142ady podano ataki na mikrous\u0142ugi, platformy SaaS i systemy izolacji kontenerowej, podczas kt\u00f3rych przy dekompresji w katalogach z roboczymi projektami, nie stwarzaj\u0105cych zagro\u017cenia archiw\u00f3w, na przyk\u0142ad z zestawami styl\u00f3w, plikami tekstowymi lub obrazkami, mog\u0105 zosta\u0107 nadpisane skrypty i pliki wykonywalne.<\/p>\n<p>Dodatkowo mo\u017cna zauwa\u017cy\u0107 luk\u0119 (CVE-2026-96889) w bibliotece librsvg, rozwijanej przez projekt GNOME w j\u0119zyku Rust. Biblioteka jest u\u017cywana w GTK oraz aplikacjach GNOME do renderowania SVG, a tak\u017ce wykorzystywana w popularnym pakiecie NPM sharp, kt\u00f3ry ma 80 mln pobra\u0144 tygodniowo i jest u\u017cywany jako zale\u017cno\u015b\u0107 w prawie 11 tysi\u0105cach projekt\u00f3w. Luka pozwala na wykonanie w\u0142asnego kodu podczas przetwarzania specjalnie przygotowanych obraz\u00f3w SVG. Problem zosta\u0142 rozwi\u0105zany w wersjach librsvg 2.56.6, 2.60.3, 2.62.4 i 2.63.1, a tak\u017ce w pakiecie NPM sharp 0.35.5. W\u015br\u00f3d dotkni\u0119tych projekt\u00f3w znalaz\u0142a si\u0119 platforma PeerTube (zale\u017cno\u015b\u0107 zosta\u0142a zaktualizowana w dzisiejszym wydaniu PeerTube 8.3.2).<\/p>\n<p>Do analizy XML-u, u\u017cywanego w plikach SVG, w librsvg wykorzystywane s\u0105 funkcje z biblioteki C libxml2. Luka jest spowodowana tym, \u017ce przy obecno\u015bci w SVG zagnie\u017cd\u017conych konstrukcji XML Xincludes, kt\u00f3re zawieraj\u0105 duplikuj\u0105ce si\u0119 elementy z powtarzaj\u0105cymi si\u0119 nazwami, dochodzi do odwo\u0142ania do pami\u0119ci po jej zwolnieniu. Awaria wyst\u0119puje, poniewa\u017c biblioteka librsvg zwalnia pami\u0119\u0107 zajmowan\u0105 przez elementy XML, kt\u00f3re s\u0105 nadal u\u017cywane w parserze libxml2.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66555\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 zip-rs, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043e\u043a\u043e\u043b\u043e 10 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2026-115905), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c\u0438, \u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u0435, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435, \u0444\u0430\u0439\u043b\u044b. \u0424\u0430\u0439\u043b\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u0432\u043d\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b &#171;Central Directory&#187;, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043f\u0440\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-184011","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 zip-rs, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043e\u043a\u043e\u043b\u043e 10 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2026-115905), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c\u0438, \u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438\u0437.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/vulnerabilities-in-rust-libraries-zip-rs-and-librsvg\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Rust-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 zip-rs \u0438 librsvg | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 zip-rs, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043e\u043a\u043e\u043b\u043e 10 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2026-115905), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c\u0438, \u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438\u0437.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/vulnerabilities-in-rust-libraries-zip-rs-and-librsvg\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-27T09:40:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-27T09:40:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Luki w bibliotekach Rust zip-rs i librsvg | ProHoster","description":"W bibliotece zip-rs, napisanej w j\u0119zyku Rust i maj\u0105cej oko\u0142o 10 mln pobra\u0144 tygodniowo, zidentyfikowano luk\u0119 (CVE-2026-115905), kt\u00f3ra pozwala na tworzenie archiw\u00f3w, kt\u00f3re wygl\u0105daj\u0105 na nieszkodliwe, ale podczas rozpakowywania.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vulnerabilities-in-rust-libraries-zip-rs-and-librsvg","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 Rust-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 zip-rs \u0438 librsvg | ProHoster","og:description":"\u0412 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 zip-rs, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 \u043e\u043a\u043e\u043b\u043e 10 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2026-115905), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0432\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c\u0438, \u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u0438\u0437.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/vulnerabilities-in-rust-libraries-zip-rs-and-librsvg","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-10-27T09:40:44+00:00","article:modified_time":"2026-10-27T09:40:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/184011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=184011"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/184011\/revisions"}],"predecessor-version":[{"id":184012,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/184011\/revisions\/184012"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=184011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=184011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=184011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}