{"id":121189,"date":"2024-12-31T15:46:00","date_gmt":"2024-12-31T13:46:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux"},"modified":"2024-12-31T15:46:00","modified_gmt":"2024-12-31T13:46:00","slug":"kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","title":{"rendered":"Collisions in Shortened Commit Identifiers in the Linux Kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kees Cook, former lead system administrator of kernel.org and leader of the Ubuntu Security Team, demonstrated the possibility of creating a commit whose shortened identifier matches a previously added commit in the Linux kernel. This experiment was conducted to confirm the feasibility of transitioning to 16-character shortened commit identifiers in the Linux kernel, which had been previously discussed in the kernel developers' mailing list but not approved by Linus Torvalds.    <\/p>\n<p>Shortened identifiers are generated by truncating the first 12 characters of the SHA-1 hash (48 bits from 160 bits). Given that the number of objects in the kernel identifiable by SHA-1 hash has exceeded 13 million, the occurrence of collisions using a 12-character prefix was just a matter of time. As an example, previously added kernel objects with overlapping 11-character identifiers are shown. Furthermore, it is noted that intersections of 12-character identifiers had already been recorded in October, but a utility called checkpatch identified issues before the patch was sent.      <\/p>\n<p>Shortened identifiers are used when publishing short links to commits and are also specified when sending changes in the 'Fixes' tag, as a reference to the commit that resolved the issue in the submitted patch (for example, 'Fixes: e21d2170f366'). The occurrence of collisions, where multiple different changes are associated with a single shortened identifier, can lead to the malfunctioning of tools for analyzing and verifying changes that consider the content of 'Fixes' tags. For instance, these tags are taken into account in the check_fixes handler used in the linux-next branch, as well as in vulnerability fixing analysis scripts and patch lifecycle tracking.      <\/p>\n<p>Linus Torvalds reacted skeptically to the proposal to increase the minimum size of shortened identifiers, as the actual number of commits in the repository is significantly less than the number of objects (about 1\/8). Most likely, if random collisions do occur, they will be between a commit and an object of a different type (for example, a blob or branch). In his view, shortened identifiers are meant to be visual, readable, and easily quotable, and there are currently no objective grounds for increasing their size.     <\/p>\n<p>One of the developers suggested achieving a reduction in size while increasing the number of significant bits by using a new format based on Base36 encoding (characters 0-9a-z) instead of hexadecimal digits. According to Linus, such a change would create more problems than it solves. For instance, it would be necessary to add support for the new format in existing utilities and introduce a format identifier to distinguish between the old and new formats.       <\/p>\n<p>To demonstrate that the problem with shortened identifiers is not theoretical and that its resolution should not be delayed, Kees Cook formulated a change to the kernel documentation, the shortened identifier of which (1da177e4c3f4) coincided with the commit identifier for creating the kernel branch 2.6.12-rc2. The collision was managed in 6 hours of computation on a system with an NVIDIA GeForce RTX 3080 GPU.     <\/p>\n<p>The match was executed using the lucky-commit tool \u2014 random spaces were added to the text of the target patch until the 12-character SHA-1 prefix matched the prefixes of commits already existing in the kernel. According to Case, the issue lies not so much in random intersections, but in the potential manipulation of shortened identifiers for malicious purposes, such as bypassing certain checks.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62495\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0432 \u044f\u0434\u0440\u043e Linux. \u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043d \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 16-\u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux, \u0440\u0430\u043d\u0435\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430, \u043d\u043e \u043d\u0435 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u041b\u0438\u043d\u0443\u0441\u043e\u043c [&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-121189","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.\" \/>\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\/en\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux\" \/>\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=\"2024-12-31T13:46:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-12-31T13:46:00+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\udd47Collisions in shortened commit identifiers in the Linux kernel | ProHoster","description":"Kees Cook, former chief system administrator of kernel.org and leader of the Ubuntu Security Team, demonstrated the possibility of creating a commit whose shortened identifier coincides with a previously made commit.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\u041a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432 \u044f\u0434\u0440\u0435 Linux | ProHoster","og:description":"\u041a\u0435\u0439\u0441 \u041a\u0443\u043a (Kees Cook), \u0431\u044b\u0432\u0448\u0438\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 kernel.org \u0438 \u043b\u0438\u0434\u0435\u0440 Ubuntu Security Team, \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043c\u0438\u0442\u0430, \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u043c, \u0440\u0430\u043d\u0435\u0435.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/kollizii-v-sokrashhyonnyh-identifikatorah-kommitov-v-yadre-linux","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":"2024-12-31T13:46:00+00:00","article:modified_time":"2024-12-31T13:46:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121189","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 09:18:23","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:18:23","updated":"2026-01-23 09:18:23","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=121189"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/121189\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=121189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=121189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=121189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}