Homebrew инсталира софтуер с команден ред и десктоп приложения от терминала на macOS и Linux, а Mac разработчиците го използват за настройка на машините си. Във неделя проектът пусна версия 7.0.0 и коригира осем уязвимости, свързани със сигурността. Най-сериозната от тях позволяваше неподписани метаданни за премахване на cask (рецептата на Homebrew за инсталиране на предварително компилирано приложение) да изпълняват команди с sudo. Homebrew изтри уязвимия код за възстановяване и API акцесорите, които стигаха до него.

Седем от осемте уязвимости бяха отстранени във версии 6.0.x, така че машина, която е използвала автоматично обновяване, вече разполага с тези корекции. Осмата идва в 7.0.0: докато не бъде инсталирана, злонамерен cask може да изпълнява код извън macOS инсталационната изолирана среда чрез LaunchServices.
Осем съобщения за уязвимости, едно от които с висок риск
Homebrew класифицира една уязвимост като висока (High), две като умерени (Moderate) и пет като ниски (Low). Тази с висок риск е свързана с sudo пътя, отстранена в 6.0.12. Умерена уязвимост, отстранена в същата версия, попречи на macOS инсталатора да чете Git конфигурация, притежавана от префикса на Homebrew, което можеше да изпълни програми като root. Другата умерена уязвимост е излизането от изолираната среда на LaunchServices, а 7.0.0 решава този проблем, като ограничава стартирането на приложения, Mach услугите и Unix socket връзките.
Петилата записа с нисък риск, коригирани в 6.0.6 и 6.0.7, покриват заявки и файлови пътища, стигащи до места, които потребителят не е възнамерявал: пренасочвания, които биха могли да предадат тайни хедъри към друг хост или да бъдат превърнати в подправяне на заявки от страна на сървъра (SSRF), Git пренасочвания, които биха могли да заобиколят ограниченията за taps (хранилищата на трети страни, които предоставят дефиниции на пакети), Subversion URL адреси, които биха могли да се превърнат в опции за команди, и кръпки, които биха могли да записват извън подготвеното изходно дърво.
Homebrew вече сам сканира инсталираните пакети
Командата brew vulns се предлага с тази версия. Тя проверява инсталираните formulae (дефинициите на пакети, от които Homebrew изгражда софтуера) за известни уязвимости чрез OSV.dev — публичен индекс на записи за уязвимости в софтуер с отворен код — и не изисква допълнителен tap или gem. Флагове като --severity=high, --deps и --fix-available стесняват резултатите до информация, върху която екипът може да предприеме действия.
Зад командата stoi нова база данни за сигурност, която записва уязвимости спрямо версиите и ревизиите на formulae, които Homebrew разпространява, включително обратно пренесени корекции за сигурност. Този детайл определя колко фалшиви тревоги обработва даден екип по сигурност: когато Homebrew отстранява уязвимост в пакет, без да променя версията му от официалния разработчик, скенер, който чете само низа на версията, маркира уязвимост, която вече е коригирана. Записите са във формат OSV и лицензирани под CC0, а Homebrew публикува констатациите в своето formula API и като индекс за изтегляне.
Проверките за произход също се разширяват. Homebrew потвърждава удостоверенията за компилация за поддържани бутилки (bottles) от taps на трети страни, разширявайки проверка, която покриваше собствения му основен tap, а taps, създадени с brew tap-new, публикуват тези удостоверения по подразбиране.
Какво не покрива изолираната среда
Доверието в taps остава основната защита срещу злонамерен cask от трети страни. Според думите на Homebrew, работата в изолирана среда „не може да направи ненадеждния софтуер безопасен за стартиране.“ Инсталирано приложение се изпълнява с привилегиите на потребителя, а инсталаторите .pkg на доставчиците се изпълняват извън изолираната среда и могат да поискат sudo.
В рамките на тези граници 7.0.0 ограничава какво може да прави една инсталация. Homebrew изолира операциите с formulae и cask и доставя инструкции за настройка като подписани данни, ограничавайки произвола от Ruby код, който се изпълнява по време на инсталация; старите блокове post_install и cask flight са остарели в полза на декларирани стъпки, които официалните taps вече отхвърлят, а taps на трети страни могат да продължат да използват до 11 декември 2027 г. Компилациите вече не четът домашната директория по подразбиране. Изтеглянията на зависимости се преместват в отделна фаза на извличане, след което инсталацията се изпълнява с изключена мрежа и кешове само за четене, въпреки че тази миграция все още е в ход.
При Linux Homebrew заменя изолираната среда Bubblewrap, въведена през юни, с Landlock — функция на ядрото, която не изисква зависимости или ескалирани права в Docker. Ядрата без Landlock продължават да работят в по-малко сигурната конфигурация отпреди 6.0.0, а brew doctor съобщава за пропуските като препоръка.
Intel Mac спират да получават нови бутилки (bottles)
Homebrew премести Intel x86_64 в Tier 3, след като ненадеждна инфраструктура прекрати рутинните компилации на Intel бутилки. Вече компилираните бутилки остават налични, но актуализирана formula може да се наложи да бъде компилирана локално, което е начинът потребител на Intel да получи корекция за сигурност, предоставена в нова версия. Homebrew работи на Intel до 1 септември 2027 г. без поддръжка от проекта, а предложението му за тези потребители е различен мениджър на пакети — MacPorts. Apple премахна поддръжката за Intel от macOS 27, а GitHub преустановява своите Intel macOS runners през есента на 2027 г., като доброволците на Homebrew не могат да заменят нито едно от двете. Версията също така премахва поддръжката за macOS 10.15 и по-ранни и премества Sonoma 14 в Tier 3, където също няма нови бутилки.