zen-browser-twilight-bin
The package sets SUID permissions on binaries (glxtest, vaapitest) in the install phase, which is a privileged operation that could pose a security risk if those binaries are exploitable.
Triggered rules
privileged_install
The package grants elevated privileges or installs an update path outside pacman: a /etc/sudoers.d rule (often passwordless), a setuid/setgid binary, or a self-update script/service that can fetch and run future code with no checksum verification. The initial install may be verified, but the ongoing privilege + update surface is a real supply-chain / privilege-escalation risk.
-
PKGBUILD:57
[[ -f "${pkgdir}${_installdir}/${_bin}" ]] && chmod 4755 "${pkgdir}${_installdir}/${_bin}"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package sets SUID permissions on binaries (glxtest, vaapitest) in the install phase, which is a privileged operation that could pose a security risk if those binaries are exploitable.
PKGBUILD
1 offending line(s) highlighted# Maintainer: logan_reed <liulingzhang.work@icloud.com>
# Contributor: Filip Papaj <denuvo at tuta dot io>
_pkgname=zen-browser-twilight
pkgname=${_pkgname}-bin
pkgver=1.25t.20261029
pkgrel=2
pkgdesc="Zen Browser (Twilight Build) - Performance oriented Firefox-based web browser"
arch=('x86_64' 'aarch64')
url='https://zen-browser.app/'
license=('MPL-2.0')
depends=(
'dbus-glib'
'gtk3'
'libxt'
'mime-types'
'nss'
'ttf-font'
)
optdepends=(
'alsa-lib: ALSA audio backend'
'ffmpeg: H264/AAC/MP3 decoding'
'pulse-native-provider: PulseAudio/PipeWire audio backend'
'libnotify: Desktop notification support'
'networkmanager: Location detection via WiFi networks'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_US: Spell checking, American English'
'xdg-desktop-portal: Screen sharing under Wayland'
)
provides=("zen-browser=$pkgver")
conflicts=('zen-browser' 'zen-browser-bin' 'zen-browser-git')
options=('!strip' '!debug')
install=${pkgname}.install
_gh='https://github.com/zen-browser/desktop/releases/download/twilight-1'
_installdir="/opt/${pkgname}"
source=("${_pkgname}.sh"
"${_pkgname}.desktop"
'policies.json')
source_x86_64=("zen.linux-x86_64-${pkgver}-${pkgrel}.tar.xz::https://github.com/zen-browser/desktop/releases/download/twilight-1/zen.linux-x86_64.tar.xz")
source_aarch64=("zen.linux-aarch64-${pkgver}-${pkgrel}.tar.xz::https://github.com/zen-browser/desktop/releases/download/twilight-1/zen.linux-aarch64.tar.xz")
b2sums=('bc733dba0aad89145425cf6e82a22379c1115b736f0938203e80d7e78f3e0f4c6a4c6abab0ceb36d5eecb009163b77d0b8f2145ffcf6b985a8f142f6fabaec6d'
'f75e803fa9da53ab9c263cc357f388de87137393fac90e86dfb528029de1434d887c2c25050ea167fbe9959d2eec11f81c85f28010126bd0c46884b59bb6ae41'
'f83302f32649f214d97f2cadf41d353d7d76fc3b50b6dabc6e25256dc52b7a98aed024a14a88966d0a4f18ee5546ad8f45b4de626aa6ed38c9f8e7a99ef151c3')
b2sums_x86_64=('482f98938c45b26da9127221c97bb2cb1271a8b97f02b5dac577b67ed64699ee88a848e07dddf8d49192ba9aa5aca5221db59a9b215f7712696318c291fc7fda')
b2sums_aarch64=('2aaf327f54553ea7ac1629e988f9e2d936fc8ab84017fa384346fa390ef19b400e09d3ecbcc76c6bcd9e42779fba935a1c92d9262d322853c63e7728d4f143b5')
package() {
# Browser files
install -d "${pkgdir}${_installdir}"
cp -a "${srcdir}/zen/." "${pkgdir}${_installdir}/"
# SUID sandbox helpers
local _suid_bins=(glxtest vaapitest)
for _bin in "${_suid_bins[@]}"; do
[[ -f "${pkgdir}${_installdir}/${_bin}" ]] && chmod 4755 "${pkgdir}${_installdir}/${_bin}"
done
# Launcher
install -Dm755 "${srcdir}/${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}"
# Desktop entry
install -Dm644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
# Icons — symlink to bundled icons
local _i
for _i in 16 32 48 64 128; do
install -d "${pkgdir}/usr/share/icons/hicolor/${_i}x${_i}/apps"
ln -s "${_installdir}/browser/chrome/icons/default/default${_i}.png" \
"${pkgdir}/usr/share/icons/hicolor/${_i}x${_i}/apps/${_pkgname}.png"
done
# System dictionaries & hyphenation
ln -Ts /usr/share/hunspell "${pkgdir}${_installdir}/dictionaries"
ln -Ts /usr/share/hyphen "${pkgdir}${_installdir}/hyphenation"
# System certificates (use system NSS CKBI instead of bundled)
ln -sf /usr/lib/libnssckbi.so "${pkgdir}${_installdir}/libnssckbi.so"
# Policies — disable auto-update (managed via AUR)
install -Dm644 "${srcdir}/policies.json" "${pkgdir}${_installdir}/distribution/policies.json"
}
Changes since previous scan
--- PKGBUILD @ 2026-10-31 00:07+++ PKGBUILD @ 2026-11-01 05:59@@ -3,7 +3,7 @@ _pkgname=zen-browser-twilight pkgname=${_pkgname}-bin-pkgver=1.25t.20261027+pkgver=1.25t.20261029 pkgrel=2 pkgdesc="Zen Browser (Twilight Build) - Performance oriented Firefox-based web browser" arch=('x86_64' 'aarch64')@@ -43,8 +43,8 @@ b2sums=('bc733dba0aad89145425cf6e82a22379c1115b736f0938203e80d7e78f3e0f4c6a4c6abab0ceb36d5eecb009163b77d0b8f2145ffcf6b985a8f142f6fabaec6d' 'f75e803fa9da53ab9c263cc357f388de87137393fac90e86dfb528029de1434d887c2c25050ea167fbe9959d2eec11f81c85f28010126bd0c46884b59bb6ae41' 'f83302f32649f214d97f2cadf41d353d7d76fc3b50b6dabc6e25256dc52b7a98aed024a14a88966d0a4f18ee5546ad8f45b4de626aa6ed38c9f8e7a99ef151c3')-b2sums_x86_64=('5bb401c3ef287153dba5b6a4c358931973dc52c8b5d7b28dd27bd600a088dbeaf3109e70ffe9b1321828ad146cdbc045b26a73332c849de1125752bef0561ece')-b2sums_aarch64=('6f02075e4cfb4ad9652eb980f291db136e434792576a302f15d09a5eb390c9aaa3be03e3270d8d41ac4c9be0c160592f50a766387be3622ee868199a374708d5')+b2sums_x86_64=('482f98938c45b26da9127221c97bb2cb1271a8b97f02b5dac577b67ed64699ee88a848e07dddf8d49192ba9aa5aca5221db59a9b215f7712696318c291fc7fda')+b2sums_aarch64=('2aaf327f54553ea7ac1629e988f9e2d936fc8ab84017fa384346fa390ef19b400e09d3ecbcc76c6bcd9e42779fba935a1c92d9262d322853c63e7728d4f143b5') package() { # Browser filesScan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 05:59:34 | Medium | 2 |
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 23:59:16 | Medium | 2 |
| 2026-10-31 00:07:41 | Low | 2 |
| 2026-10-30 00:29:30 | Low | 2 |
| 2026-10-29 15:52:51 | Medium | 1 |
| 2026-10-29 05:51:59 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 05:49:54 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 23:48:54 | Medium | 2 |
| 2026-10-27 13:48:00 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 03:33:54 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |