{"id":122229,"date":"2025-03-15T14:22:06","date_gmt":"2025-03-15T12:22:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab"},"modified":"2025-03-15T14:22:06","modified_gmt":"2025-03-15T12:22:06","slug":"uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab","title":{"rendered":"Zranitelnost v knihovn\u011b ruby-saml, kter\u00e1 vede k obch\u00e1zen\u00ed autentizace v GitLab","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Byly zve\u0159ejn\u011bny opravy platforem pro spolupr\u00e1ci GitLab \u2014 17.9.2, 17.8.5 a 17.7.7, kter\u00e9 odstra\u0148uj\u00ed zranitelnost (CVE-2025-25291, CVE-2025-25292) umo\u017e\u0148uj\u00edc\u00ed obej\u00edt autentizaci zalo\u017eenou na SAML (Security Assertion Markup Language). Zranitelnost je p\u0159\u00edtomna v Ruby knihovn\u011b ruby-saml, kter\u00e1 implementuje funkce pro SAML autorizaci. Krom\u011b GitLabu se zranitelnost t\u00fdk\u00e1 tak\u00e9 dal\u0161\u00edch projekt\u016f, kter\u00e9 pou\u017e\u00edvaj\u00ed tuto knihovnu. Probl\u00e9m byl odstran\u011bn v aktualizac\u00edch ruby-saml 1.18.0 a 1.12.4.      <\/p>\n<p>Zranitelnost je zp\u016fsobena rozd\u00edly v anal\u00fdze XML dokument\u016f parsery ReXML a Nokogiri, co\u017e vedlo k tomu, \u017ee p\u0159i zpracov\u00e1n\u00ed t\u00e9ho\u017e XML dokumentu byly generov\u00e1ny dokumenty, kter\u00e9 se li\u0161ily svou strukturou. Probl\u00e9m spo\u010d\u00edv\u00e1 v tom, \u017ee REXML a Nokogiri r\u016fzn\u011b zpracov\u00e1vaj\u00ed digit\u00e1ln\u00ed podpisy v XML dokumentu, co\u017e m\u016f\u017ee b\u00fdt vyu\u017eito k vytvo\u0159en\u00ed podm\u00ednek, kdy p\u0159i kontrole bude pou\u017eito jednoho podpisu, zat\u00edmco p\u0159i attestaci u\u017eivatele jin\u00e9ho. Tato mo\u017enost umo\u017e\u0148uje \u00fato\u010dn\u00edkovi vyu\u017e\u00edt metodu \u00fatoku XSW (XML Signature Wrapping) pro fal\u0161ov\u00e1n\u00ed SAML odpov\u011bdi pro libovoln\u00fd obsah, p\u0159i\u010dem\u017e m\u00e1 p\u0159\u00edstup k jak\u00e9mukoli podepsan\u00e9mu SAML dokumentu.          <\/p>\n<p>Probl\u00e9m byl identifikov\u00e1n v r\u00e1mci iniciativy spole\u010dnosti GitHub, kter\u00e1 zva\u017eovala p\u0159echod GitHubu na pou\u017e\u00edv\u00e1n\u00ed t\u00e9to knihovny, a pro zaji\u0161t\u011bn\u00ed bezpe\u010dnosti uspo\u0159\u00e1dala sout\u011b\u017e (Bug bounty) zam\u011b\u0159enou na hackov\u00e1n\u00ed testovac\u00edho prost\u0159ed\u00ed, ve kter\u00e9 byla pro SAML autentizaci pou\u017eita knihovna ruby-saml. Jeden z odborn\u00edk\u016f na bezpe\u010dnost upozornil na existenci zranitelnosti. P\u0159i rozboru probl\u00e9mu zam\u011bstnanec GitHubu odhalil dal\u0161\u00ed zp\u016fsob \u00fatoku zalo\u017een\u00fd na stejn\u00e9m principu.     <\/p>\n<p>Pozd\u011bji byla mo\u017enost proveden\u00ed \u00fatoku potvrzena pro GitLab. V kontextu GitLab zranitelnost umo\u017e\u0148uje \u00fato\u010dn\u00edkovi, kter\u00fd m\u00e1 p\u0159\u00edstup k jak\u00e9mukoli spr\u00e1vn\u011b podepsan\u00e9mu SAML dokumentu, proj\u00edt autentizac\u00ed jako jin\u00fd u\u017eivatel, tedy pro obch\u00e1zen\u00ed autentizace a p\u0159ihl\u00e1\u0161en\u00ed se jako jin\u00fd u\u017eivatel mus\u00ed \u00fato\u010dn\u00edk ji\u017e m\u00edt p\u0159\u00edstup k jednomu z pracovn\u00edch \u00fa\u010dt\u016f.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62876\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GitLab &#8212; 17.9.2, 17.8.5 \u0438 17.7.7, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2025-25291, CVE-2025-25292), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043e\u0431\u043e\u0439\u0442\u0438 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043d\u0430 \u0431\u0430\u0437\u0435 SAML (Security Assertion Markup Language). \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 Ruby-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 ruby-saml, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f SAML-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u041a\u0440\u043e\u043c\u0435 GitLab \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445 ruby-saml 1.18.0 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-122229","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GitLab - 17.9.2, 17.8.5 \u0438 17.7.7, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2025-25291, CVE-2025-25292), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043e\u0431\u043e\u0439\u0442\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u044c \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 ruby-saml, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0430\u044f \u043a \u043e\u0431\u0445\u043e\u0434\u0443 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 GitLab | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GitLab - 17.9.2, 17.8.5 \u0438 17.7.7, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2025-25291, CVE-2025-25292), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043e\u0431\u043e\u0439\u0442\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab\" \/>\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=\"2025-03-15T12:22:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-15T12:22:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Zranitelnost v knihovn\u011b ruby-saml, kter\u00e1 vede k obch\u00e1zen\u00ed autentizace v GitLab | ProHoster","description":"Byly vyd\u00e1ny opravy platformy GitLab pro spolupr\u00e1ci na v\u00fdvoji - verze 17.9.2, 17.8.5 a 17.7.7, ve kter\u00fdch byla odstran\u011bna zranitelnost (CVE-2025-25291, CVE-2025-25292), je\u017e umo\u017e\u0148uje obch\u00e1zen\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u044c \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 ruby-saml, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0430\u044f \u043a \u043e\u0431\u0445\u043e\u0434\u0443 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 GitLab | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GitLab - 17.9.2, 17.8.5 \u0438 17.7.7, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c (CVE-2025-25291, CVE-2025-25292), \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043e\u0431\u043e\u0439\u0442\u0438.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/uyazvimost-v-biblioteke-ruby-saml-privodyashhaya-k-obhodu-autentifikaczii-v-gitlab","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":"2025-03-15T12:22:06+00:00","article:modified_time":"2025-03-15T12:22:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"122229","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 11:09:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 11:09:20","updated":"2026-01-23 11:09:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/122229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=122229"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/122229\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=122229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=122229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=122229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}