До основного змісту

Кібербезпека

Git виправив вразливість, яка дозволяла запускати код під час клонування репозиторіїв

Оновлення усуває помилку цілочисельного скорочення, через яку зловмисник міг підмінити файл .git символічним посиланням і виконати шкідливий код.

Екран комп'ютера з відкритим редактором коду, що символізує виправлення вразливості в системі контролю версій Git.

Проєкт Git випустив оновлення безпеки, яке закриває вразливість, що дозволяла зловмисникам запускати довільний код на комп'ютері жертви під час рекурсивного клонування репозиторію. Як повідомляє The Hacker News, виправлення увійшло до версії Git 2.56.1, а також до гілок 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1 та 2.55.1.

Вразливість, якій присвоїли ідентифікатор CVE-2026-111760, пов'язана з цілочисельним скороченням під час обробки індексу Git. Надзвичайно довгий шлях у репозиторії міг пройти перевірку безпеки, після чого Git записував його на диск під коротшим ім'ям, яке зловмисник міг задати як .git. Це дозволяло підмінити файл .git у підмодулі символічним посиланням на теку зі шкідливими хуками або конфігурацією. Хуки, це програми, які Git автоматично запускає в певні моменти, тому після використання підміненої теки код атакуючого отримував можливість виконатися.

Підмодулі важливі для експлуатації, оскільки Git відмовляється замінювати теку .git символічним посиланням, але у щойно клонованому підмодулі .git є файлом, а не текою. Виправлені версії відхиляють надмірно довгі шляхи до того, як їхня довжина може бути скорочена.

GitHub уже застосував виправлення для github.com та GitHub Enterprise Cloud. Для GitHub Enterprise Server вони доступні у версіях 3.19.15, 3.20.11, 3.21.9 та 3.22.4. Компанія також готує оновлені версії GitHub Desktop і застосунку GitHub Copilot, а GitHub Codespaces та GitHub Actions отримають виправлений Git. GitLab, який присвоїв вразливості власний номер CVE-2026-105437, зазначив, що найімовірнішою ціллю атак є сервери хостингу коду, які використовують git merge-tree для перевірки можливості злиття pull- або merge-запитів.

Для серверів, які не можуть оновитися негайно, GitLab пропонує тимчасове рішення: додати conflict-marker-size=7 до файлу info/attributes кожного репозиторію або вимкнути відповідні перевірки злиття для ненадійних репозиторіїв. GitHub радить встановити виправлену версію Git від вашого дистрибутива операційної системи та оновити всі застосунки, які постачають власну копію Git.

Читайте також

Джерела

  • The Hacker News: Git Patches Flaw That Lets Malicious Repositories Execute Code During Recursive Clones

Фото: Pexels, Pixabay (Pixabay Content License)