nym-vpnd
The package installs a setuid binary (nym-exclude) which grants elevated privileges, creating a potential security risk if the binary is compromised or misused.
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
chmod u+s "$pkgdir/usr/bin/nym-exclude"
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package installs a setuid binary (nym-exclude) which grants elevated privileges, creating a potential security risk if the binary is compromised or misused.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Nym <ops@nymte.ch>
# Maintainer: Andrej Mihajlov <andrej@nymtech.net>
# Maintainer: Lawrence Stalder <lawrence.stalder@pm.me>
# Contributor: Pierre Dommerc <pierre@nymtech.net>
pkgname=nym-vpnd
pkgver=2026.12.4
pkgrel=1
pkgdesc='NymVPN daemon as a systemd service'
arch=('x86_64' 'aarch64')
url='https://github.com/nymtech/nym-vpn-client'
license=('GPL-3.0-only')
depends=('glibc' 'gcc-libs' 'dbus' 'libmnl' 'libnftnl' 'polkit')
makedepends=('rust' 'cargo' 'go' 'protobuf')
provides=('nym-vpnd' 'nym-exclude' 'nym-socks5-proxy')
conflicts=('nym-vpnd')
options=(!debug)
source=("$url/archive/refs/tags/nym-vpn-v2026.12.4.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')
sha256sums=(740b6f0cc3b8907cd1089bdf9d68d1c7c017fd67c0f3ce85ff9384d71048c6cd 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)
_srcdir="nym-vpn-client-nym-vpn-v2026.12.4"
prepare() {
pushd "$_srcdir"
# remove unused sources
rm -rf nym-vpn-android
rm -rf nym-vpn-apple
rm -rf nym-vpn-app
rm -rf nym-vpn-windows
popd
}
build() {
pushd "$_srcdir"
# build wireguard-go
pushd wireguard
./build-wireguard-go.sh
popd
pushd nym-vpn-core
# 1. sqlx does not support LTO build flag, which is enabled by default in Arch
# set the C flag -ffat-lto-objects to solve the issue
# see https://github.com/launchbadge/sqlx/issues/3149
#
# 2. aws-lc-sys v0.38: build issues related to optimizations (fixed in newer versions)
# see: https://github.com/aws/aws-lc-rs/pull/1064
CFLAGS+=" -ffat-lto-objects -O0" cargo build --release --locked
popd
popd # _srcdir
}
package() {
pushd "$_srcdir/nym-vpn-core/target/release"
install -Dm755 "nym-vpnd" "$pkgdir/usr/bin/nym-vpnd"
install -Dm755 "nym-exclude" "$pkgdir/usr/bin/nym-exclude"
chmod u+s "$pkgdir/usr/bin/nym-exclude"
install -Dm755 "nym-socks5-proxy" "$pkgdir/usr/bin/nym-socks5-proxy"
popd
install -Dm644 nym-vpnd.service "$pkgdir/usr/lib/systemd/system/nym-vpnd.service"
install -Dm644 nym-vpn.conf "$pkgdir/usr/lib/sysusers.d/nym-vpn.conf"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-16 00:03+++ PKGBUILD @ 2026-09-17 00:27@@ -4,7 +4,7 @@ # Contributor: Pierre Dommerc <pierre@nymtech.net> pkgname=nym-vpnd-pkgver=2026.12.2+pkgver=2026.12.4 pkgrel=1 pkgdesc='NymVPN daemon as a systemd service' arch=('x86_64' 'aarch64')@@ -15,9 +15,9 @@ provides=('nym-vpnd' 'nym-exclude' 'nym-socks5-proxy') conflicts=('nym-vpnd') options=(!debug)-source=("$url/archive/refs/tags/nym-vpn-v2026.12.2.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')-sha256sums=(c413d41b95a72e050761f07e103391cbeec82406d61cfec28691ca73b491dc34 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)-_srcdir="nym-vpn-client-nym-vpn-v2026.12.2"+source=("$url/archive/refs/tags/nym-vpn-v2026.12.4.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')+sha256sums=(740b6f0cc3b8907cd1089bdf9d68d1c7c017fd67c0f3ce85ff9384d71048c6cd 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)+_srcdir="nym-vpn-client-nym-vpn-v2026.12.4" prepare() { pushd "$_srcdir"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 15:22:50 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |