Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2025-48384

Опубликовано: 08 июл. 2025
Источник: redhat
CVSS3: 8

Описание

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.

A line-end handling flaw was found in Git. When writing a config entry, values with a trailing carriage return (CR) are not quoted, resulting in the CR being lost when the config is read later. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read, resulting in the submodule being checked out to an incorrect location.

Отчет

This vulnerability marked as Important and not Moderate flaw because it undermines Git’s path and config integrity by allowing carriage return (\r) injection to manipulate submodule checkout behavior. Git previously failed to quote config values containing trailing CR, causing the value to be misinterpreted when read back. In the context of submodules, this leads to incorrect path resolution, allowing an attacker to redirect the checkout path via a symlink to a sensitive directory like .git/modules//hooks. If an executable post-checkout hook exists there, it could be inadvertently executed, resulting in arbitrary code execution during submodule operations. This is particularly dangerous in automated CI/CD pipelines or multi-repo projects where submodules are initialized or updated without manual inspection.

Меры по смягчению последствий

To mitigate this issue, avoid using --recurse-submodules when cloning repositories from untrusted sources; instead, clone normally and only initialize or update submodules manually after reviewing them.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 6gitOut of support scope
Red Hat OpenShift Dev Spacesdevspaces/code-rhel9Not affected
Red Hat Enterprise Linux 10gitFixedRHSA-2025:1153322.07.2025
Red Hat Enterprise Linux 7 Extended Lifecycle SupportgitFixedRHSA-2025:1168824.07.2025
Red Hat Enterprise Linux 8gitFixedRHSA-2025:1153423.07.2025
Red Hat Enterprise Linux 8.2 Advanced Update SupportgitFixedRHSA-2025:1179324.07.2025
Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update SupportgitFixedRHSA-2025:1180028.07.2025
Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-OngitFixedRHSA-2025:1180028.07.2025
Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update SupportgitFixedRHSA-2025:1180128.07.2025
Red Hat Enterprise Linux 8.6 Telecommunications Update ServicegitFixedRHSA-2025:1180128.07.2025

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-436
Дефект:
CWE-59

8 High

CVSS3

Связанные уязвимости

CVSS3: 8
ubuntu
4 месяца назад

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.

CVSS3: 8
nvd
4 месяца назад

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.

msrc
4 месяца назад

GitHub: CVE-2025-48384 Git Symlink Vulnerability

CVSS3: 8
debian
4 месяца назад

Git is a fast, scalable, distributed revision control system with an u ...

oracle-oval
3 месяца назад

ELSA-2025-11688: git security update (IMPORTANT)

8 High

CVSS3