commit -m "better"
3.24K subscribers
1.02K photos
149 videos
3 files
2.38K links
just random thoughts
Download Telegram
commit -m "better"
TL;DR - безопасности больше не стало.
https://www.opennet.ru/opennews/art.shtml?num=64532

strcpy заменили вот на это:

void curlx_strcopy(char *dest,
size_t dsize,
const char *src,
size_t slen)
{
DEBUGASSERT(slen < dsize);
if(slen < dsize) {
memcpy(dest, src, slen);
dest[slen] = 0;
}
else if(dsize)
dest[0] = 0;
}


Было бы норм, если бы в конце был вызов abort()

else {abort();}


А так - поменяли шило на мыло, одну функцию со странной семантикой на другую функцию, с еще более странной семантикой.

     else if(dsize)
dest[0] = 0;


Это же надо додуматься, что, если нам не хватает места на копию строки, то мы просто попытаемся записать в dest пустую строку, если это возможно.

Полагаю, авторы считают, что они добавили безопастности, с моей же колокольни - это просто еще десяток мест, которые, вместо проезда, будут порождать пустые строки, которые потом мне же и придется дебажить. Заменили шило на мыло, круто, поздравляю.
💊18👍11🔥7💯5🥴43🤔2🤡2
Forwarded from /g/‘s Tech Memes
Whatever you say, Chief Slop Officer
😁59💯11🌭4🔥2🆒1
https://www.facebook.com/ethical.hack.group/posts/pfbid032cJSREZHEDefgq9aKkotMAYpRuKs7mNujarsnNjaSok2wPnXmo124ajfo5Un1FLzl

Your headphones just became a backdoor to your phone. No pairing. No popup. Just Bluetooth range. 70 million chips. Sony. Bose. Marshall. JBL. A debug protocol active on production devices. Attackers can dump your Bluetooth keys, impersonate your headphones, and hijack your phone. 🤔
Three CVEs. Zero authentication required. Full technical disclosure: December 27, 2025 at 39C3.

The vulnerabilities

→ CVE-2025-20700: No authentication on Bluetooth Low Energy
→ CVE-2025-20701: No authentication on Bluetooth Classic
→ CVE-2025-20702: Debug protocol exposed that should never be accessible

RACE is Airoha's factory protocol. Meant for testing and firmware updates during production. It exposes read/write access to RAM and flash memory over three channels: USB HID, Bluetooth Classic RFCOMM (channel 21), and BLE GATT services.

The protocol was never disabled before shipping.

An attacker within 10 meters connects via BLE or Bluetooth Classic. No user interaction. The connection is silent.
Once connected, RACE commands dump the flash. Inside: the Bluetooth Link Key. This 128-bit key is what your phone uses to verify your headphones are trusted.

With the Link Key, the attacker clones your headphones' Bluetooth identity. Your phone sees "Sony WH-1000XM5" connecting. It trusts it automatically. No pairing popup.
🔥29🤯19😱10🤡3🎄32🆒1
😁285🔥4💯2🆒1
Мне, на самом деле, нравится говорить с #AI-шкой (на самом деле, с LLM-шкой, но звучит не так) на разные темы.

Мне нравится обсудить с ней какой-то текст, посмотреть на него с разных сторон, повертеть так и сяк, и, возможно, увидеть что-то новое.

Сейчас праздники, Новый Год, поэтому, думаю, никого не удивит, что я с ней обсуждаю те или иные НГ тексты! Да, вот так, сижу и обсуждаю, потому что там есть какая-то глубина, которой я раньше не видел.

Например, результат нашего диалога про одну из главных песен из "Иронии Судьбы" - https://genius.com/Alla-pugacheva-i-like-lyrics

Это песня о парадоксе любви и свободы.

С одной стороны, это гимн облегчению: героиня благодарна за то, что между ними нет испепеляющей, разрушительной страсти («болезни»), которая лишает покоя и заставляет притворяться. Она ценит безопасность, возможность быть собой («смешной», «распущенной») и твердую почву под ногами.

С другой стороны, финальное слово «увы» полностью меняет интонацию. В этом «увы» скрывается тонкая, светлая грусть о том, что эта великая любовь так и не случилась.

Коротко: Это благодарность за спокойные, нежные отношения, в которых нет боли, но есть скрытое сожаление о том, что искра безумства между ними так и не вспыхнула.


Вот так вот читаешь ответ, и понимаешь, что эта песня - про их отношение с Иполлитом, а ты, несмотря на то, что смотрел это фильм 20 раз, так этого и не понял!

А, да, погромировать эта шайтан-машина так и не научилась. Видимо, погромировать сложнее, чем писать сочинение на тему "а что имел в виду автор"!
👍18😁6🤡63🤔3🥴3🍌2💊2🐳1🙈1
В проекте RustFS, развивающем совместимое с S3 распределённое объектное хранилище, написанное на языке Rust, выявлена уязвимость (CVE-2025-68926), напоминающая бэкдор. Проблема вызвана наличием жёстко прошитого в коде токена доступа, позволяющего подключиться к сетевому сервису по протоколу gRPC, указав в заголовке "authorization" значение "rustfs rpc". Токен присутствовал в коде сервера и клиента. Проблеме присвоен критический уровень опасности (9.8 из 10).

Атакующий, имеющий доступ к сетевому порту gRPC, мог использовать указанный токен для выполнения привилегированных операций с хранилищем, среди которых удаление данных, манипуляции с учётными данными пользователей и изменение настроек кластера. По умолчанию RustFS принимает gRPC-запросы на TCP-порту 9000 на всех сетевых интерфейсах. Уязвимость устранена в выпуске RustFS 1.0.0-alpha.77.

   grpcurl -plaintext -H 'authorization: rustfs rpc' \
-d '{"access_key": "admin"}' \
localhost:9000 node_service.NodeService/LoadUser

   grpcurl -plaintext -H 'authorization: rustfs rpc' \
-d '{"volume": "config", "path": "backdoor.sh", "buf": "..."}' \
localhost:9000 node_service.NodeService/WriteAll


В RustFS выявлен предопределённый в коде токен доступа
https://www.opennet.ru/opennews/art.shtml?num=64551

Оригинал
gRPC Hardcoded Token Authentication Bypass - Reproduction Report
https://github.com/rustfs/rustfs/security/advisories/GHSA-h956-rh7x-ppgj
🤯17🎉105🤡4🔥2
Хотел запилить "итоги года" по своему каналу, но, э, за год у меня получилось на 900 килобайт текста в json формате, благо, телега позволяет.

Я решил, что хрен это в меня влезет за разумное время, поэтому скормил это в #AI, и поигрался с ней, пока результат не стал походить на то, как я бы сам мог это написать.

Ниже - #AI slop, но сделанный с душой, не на отъебись. Он мне самому нравится.



Итоги года в канале, одним постом.

За год я окончательно убедился, что индустрия делится на две категории людей:

* Те, кто пытается сделать систему предсказуемой

* И те, кто пытается сделать “как-нибудь”, но современно, и обязательно чтоб оно само скачало из интернетов

Угадайте, кто побеждает в среднем по больнице? Да, конечно, вторые. Поэтому мы весь год и смотрели, как:

* #bootstrap снова оказался мифом. Cargo без /dev/random жить не может, cmake тащит FetchContent, npm пихает .so “чтобы пользователям было удобно”, и в любой момент какая-нибудь “герметичная сборка” превращается в “а давайте просто curl | sh, чё вы как маленькие”.

* #infra / #selfhost продолжает быть спортом для самоубийц. GitLab падает, RAID падает, миграции по неделе, боты доедают всё живое, и каждый раз одно и то же: “мы маленькая команда SRE” (а дальше — удивление, что оно не работает).

Fun fact: github почему-то не жалуется.

* Rust уверенно шагает по планете как #almost_memory_safe. Уязвимости в unsafe, гонки, use-after-free в обвязках, “мы отключаем SIGPIPE” и “мы захардкодили все target triples”, потому что “так проще”.
Самое смешное — фанаты всё ещё уверены, что раз писать на Rust больнее, то программы автоматически получаются лучше. Нет, это просто упражнение на самоистязание.

* C/C++ остаётся тем же болотом, где ABI не трогать, “модули вот-вот”, и где даже когда идея хорошая, её надо сначала обмазать пятью страницами объяснений, почему она всё равно никому не доступна. #cplpl_doomed

* Wayland vs X11: поезд уехал, но в пути он умудрился потерять половину колёс. X11 уже никто не хочет чинить, Wayland ещё не везде можно использовать без матов, и да — “три протокола сделать одно и то же” это реальность, а не анекдот.

На этом фоне я продолжал заниматься своим любимым — строить мир заново так, чтобы он хотя бы сходился:

* автоматизировал апверы, довёл интеграцию с репологией, сделал снапшоты/rootfs/кэши исходников, ужесточил изоляцию сборок

* допилил свою магию статлинковки (в том числе через плагинчики к линкеру), собрал кучу странного и красивого

* по дороге успел повоевать с #mesa, собрать #ANGLE с Vulkan-стеком и закрыть пару давних гештальтов

Главная мораль года проста: мы все в одной лодке. И если вы думаете, что вас спасёт “новый язык/новый тул/новый AI/новый фонд”, то нет — вас спасут только тесты, воспроизводимость, ограничения на “самокач”, и здоровая ненависть к магии.

С наступающим, коллеги. В следующем году будем продолжать делать из четырёх вёдер говна бочку говна — но хотя бы воспроизводимо!
😁45🔥2710🥰7🤡5❤‍🔥3🆒2
Несколько месяцев назад увидел, что один из разработчиков Rust решил запилить новый язык - https://xn--r1a.website/lobstersfeed/32481

Мне тогда это показалось малозначащим, но вот, автор написал более подробный текст про это, https://steveklabnik.com/writing/thirteen-years-of-rust-and-the-birth-of-rue, где он написал, что решил пойти по стопам великих https://xn--r1a.website/itpgchannel/3657 пишет это в одно рыло, но с использованием #AI.

Это, конечно, делает всю затею сильно более интересной, поэтому будем наблюдать.
🤣18🤔104👍2🍌2🔥1
https://www.opennet.ru/opennews/art.shtml?num=64562

TL;DR - ох, ну и знатная некрофилия!

Коллеги решили оживить KDE1, который, на секундочку, старше всего моего linux background, я его захватил буквально на полгода, а потом вышел KDE2.

Планов - громадье, в том числе, порт на Wayland.

Звучит дико, но может быть весьма интересно, как lightweight DE.
🔥13😁84🤡2🆒2💊2🤔1🐳1🍌1
Документальный ролик о самой сложной и важной инженерной машине в мире: EUV-литографической системе от ASML, которая позволяет выпускать самые передовые микрочипы.

Видео подробно объясняет, как работают EUV-литографические установки, из каких подсистем они состоят, почему их стоимость достигает сотен миллионов долларов и какие оптические и физические ограничения стоят за их конструкцией.

Меня удивило, что меньше чем за неделю видео уже набрало 10 миллионов просмотров!
Всем смотреть😎
👍187🔥5❤‍🔥3🍌1🆒1
https://www.opennet.ru/opennews/art.shtml?num=64575

TL;DR - отчет gentoo за год. Все немножко хуже, ниже и даже реже, проект теряет популярность :(

С одной стороны, приятно видеть проект, который живет по средствам, и не устраивает тусовки для альтернативно одаренных, с другой - жалко, конечно.

Gentoo был мой любимый дистр, до того момента, как я решил запилить #stal/ix.

Как-то писал, повторю: в моей голове #stal/ix - это такой gentoo, но без FHS, а на рельсах CAS (как в Nix).
🫡24😢107🤔3🆒2🤡1🍌1
💯57😁25🥰86👍2🔥1🍌1
https://iscinumpy.dev/post/packaging-faster/

TL;DR - история #perf оптимизации какого-то важного Python модуля. В целом, ничего интересного - просто убрали весь синтаксический сахар, типа NamedTuple, позаменяли циклы на map, где это возможно (*), и прочие генераторы.

Результат хороший, но ничего особенно полезного узнать не получится.

(*): Задачка со звездочкой - попробуйте себе объяснить, почему map в Python может быть быстрее, чем обычный цикл.
👍14🔥4🍌3🆒1
TIL что в autoconf есть такая штука, как "Quadrigraphs" - https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/autoconf.html#Quadrigraphs

Особенно доставляет

‘@&t@’
Expands to nothing.
🍌145🤯3🔥2🎄1
This media is not supported in your browser
VIEW IN TELEGRAM
"За еду не работаем"
😁24👍15🔥11🆒32🤮2🤡1
Про "балканизацию" интернета я говорю ~15 лет уже.

Прости нас, Тим! Мы всё проебали.

Cloudflare оштрафовали в Италии на 14.2 млн евро за отказ блокировки пиратских сайтов в DNS-сервисе 1.1.1.1
https://www.opennet.ru/opennews/art.shtml?num=64586

Итальянское управление по надзору в сфере связи (AGCOM) оштрафовало компанию Cloudflare на 14.2 млн евро за нарушение требований в отношении блокирования пиратского контента в публичном DNS-сервисе 1.1.1.1. Выставленный Cloudflare штраф стал крупнейшим взысканием за не выполнение анипиратского законодательства Италии, так как размер штрафа начисляется от общей выручки компании.

В феврале 2025 года AGCOM выдал компании Cloudflare предписание о прекращении DNS-резолвинга доменов и IP-адресов, через которые распространяется контент, нарушающий авторские права. Компания Cloudflare отказалась реализовать в DNS-сервисе
1.1.1.1 блокировку по предоставленному списку, назвав такую блокировку неоправданной и несоразмерной, а также указав на техническую невозможность реализации фильтров в сервисе 1.1.1.1, обрабатывающем 200 миллиардов запросов в день, без негативного влияния на производительность. В сервисе 1.1.1.1 изначально заявлено отсутствие какой-либо фильтрации, а для блокировки вредоносных ресурсов и сайтов только для взрослых предоставляются отдельные DNS-резоверы 1.1.1.2 и 1.1.1.3.

После отказа в AGCOM было проведено разбирательство, которое пришло к выводу, что компания Cloudflare открыто нарушила действующие в Италии правовые нормы, обязывающие провайдеров DNS и VPN блокировать пиратские сайты. В AGCOM сочли названную причину недостаточной и не согласились с доводом, что введение фильтров приведёт к снижению качества сервиса, так как компания Cloudflare не всегда является нейтральным посредником и известна своими сложными механизмами управления трафиком. По данным AGCOM у Cloudflare есть необходимый опыт и ресурсы для внедрения требуемой блокировки.

До этого, компания Cloudflare выступала с критикой действующей в Италии с 2024 года инициативы "Piracy Shield", в ходе которой под блокировку вместе с пиратскими сайтами часто попадали и легитимные ресурсы, пользующиеся теми же платформами хостинга и сетями доставки контента. Недовольство также связано с отсутствием прозрачности при наполнении списков блокировки "Piracy Shield", которые включают около 65 тысяч доменных имён и 14 тысяч IP-адресов.

Мэтью Принс (Matthew Prince), руководитель и сооснователь Cloudflare, также указал на порочность выдвигаемых AGCOM требований, предписывающих осуществлять блокировку в течение 30 минут после уведомления. За такой короткий промежуток времени невозможно полноценно верифицировать новые записи в списке блокировки, что не исключает возникновение ложных блокировок и создаёт риски превращения
1.1.1.1 в сервис для цензурирования ресурсов, неугодных европейским издателям контента, и навязывания своих условий о том, что допустимо, а что нет в интернете. Действия AGCOM также критикуются за отсутствие судебного надзора, прозрачности, формализованной процедуры и инструментов для подачи апелляций.
12😱53🔥3💔2🥱1