Защитная инструкция по decompress и ghsa-jwp9-9v96-94mx: карта применимости, один обратимый опыт для «containment цели hardlink при распаковке», измеримый критерий остановки, обновление и пакет поддержки без production-данных.
Когда применима проблема decompress
Самостоятельная боль этой карточки: непроверенный linkname может связать файл внутри результата с inode вне extraction root. Проверяется только граница «containment цели hardlink при распаковке» в decompress; соседние функции и продукты сюда не включаются. Reviewed record ghsa-jwp9-9v96-94mx опубликован 2026-07-10 и обновлён 2026-08-13. Пакетная карта: npm:decompress <= 4.2.1. Сначала снимите версию реально запущенного артефакта, его digest, происхождение сборки и достижимость указанной функции. Lockfile без runtime digest оставляет статус unknown, а severity не подтверждает атаку либо состояние конкретной установки.
Факты и локальные наблюдения для containment цели hardlink при распаковке
Нормализованный intent: как безопасно проверить containment цели hardlink при распаковке в decompress без эксплуатационного payload и production-данных. Официальный Reviewed record сообщает: GitHub Reviewed Advisory ghsa-jwp9-9v96-94mx подтверждает механизм, даты и пакетные диапазоны; published 2026-07-10, updated 2026-08-13. Upstream-проверка сообщает: Прямая upstream-страница decompress подтверждает происхождение проекта; технический механизм и диапазоны берутся из Reviewed record. Эти два факта не смешиваются с локальным результатом. В рабочей таблице используйте колонки source, observed_at, version, enabled path, trust boundary, expected, observed и decision. Search snippets, новости и сообщения сообщества остаются лидами: они не доказывают механизм, частоту, причину или спрос.
Один обратимый опыт для decompress
План безопасной проверки: в tmpfs распаковать архив только с относительной ссылкой на созданный внутри fixture и проверить realpath/inode containment; внешние пути не использовать; сначала подтвердить затронутую версию, затем зафиксировать измеримый исход и способ полного возврата. Используйте только одноразовую среду, нейтральный fixture/mock и заранее заданный предел времени, памяти, соединений либо объектов — подходящий именно для «containment цели hardlink при распаковке». До опыта сохраните baseline; после первого граничного исхода остановитесь, повторите обычный контроль и удалите fixture. Не применяйте реальные credentials, внешние адреса, production-документы, активный HTML, системные команды или аварийную нагрузку. Если без них ответ невозможен, результат остаётся blocked/unknown.
Дерево решения и возврат для containment цели hardlink при распаковке
Отдельная пользовательская боль: непроверенный linkname может связать файл внутри результата с inode вне extraction root. Практическая ценность: проверка root/device/inode до и после с удалением всего mount namespace. Это самостоятельная граница и дерево решения, а не замена бренда, ОС или устройства. Ветвь not-applicable требует доказанной версии вне «npm:decompress <= 4.2.1» либо недостижимой функции. Ветвь update требует исправленного артефакта из первичного источника и повторения того же опыта. Ветвь contain допускает только узкое обратимое ограничение до окна обслуживания. Ветвь escalate выбирают при неизвестном provenance. Не меняйте одновременно runtime, OS, proxy и policy: иначе причинность теряется. Перед изменением зафиксируйте dependency/container/config digest и точную команду возврата, после — обычный функциональный контроль.
Закрытие карточки ghsa-jwp9-9v96-94mx
Отдельный механизм «containment цели hardlink при распаковке»; уникальные вход, наблюдаемый исход, stop-rule и rollback. Карточка закрывается лишь когда совпали product, package range и boundary «containment цели hardlink при распаковке»; граничный нейтральный вход дал ожидаемый исход; baseline не регрессировал; cleanup подтверждён; новые warning/error отсутствуют. Минимальный пакет поддержки: decompress, ghsa-jwp9-9v96-94mx, версия и digest, абстрактная topology, hash fixture, decision code, профиль counters/timing, rollback status и отметка unknown/not-applicable. Исключите IP, токены, пароли, cookies, private keys, реальные имена, полный config и пользовательские данные. Отдельно укажите: advisory не доказывает эксплуатацию, ущерб, индексацию или позиции.
Паспорт evidence CVE-2026-39243
Идентификаторы этой записи: ghsa-jwp9-9v96-94mx и CVE-2026-39243; уровень Reviewed record — medium; классификация — CWE-59: Improper Link Resolution Before File Access ('Link Following'). Затронутые package boundaries записаны как «npm:decompress <= 4.2.1». Primary provenance для decompress: https://github.com/kevva/decompress; глобальная карточка: https://github.com/advisories/GHSA-jwp9-9v96-94mx. Эти поля копируют в тикет без расширительного толкования: CVE/CWE помогают маршрутизации, но не заменяют проверку runtime, функции «containment цели hardlink при распаковке» и доверия к входу. Если identifier, package либо digest не совпадает, вывод этой страницы не переносится автоматически.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-jwp9-9v96-94mx проверено 2026-08-30
- Upstream-страница decompress проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.