nym-vpnd
The package installs a setuid binary (nym-exclude) which can elevate privileges, representing 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 can elevate privileges, representing 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.14.0
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.14.0.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')
sha256sums=(e4c00f89e7d35be34c4ad3258d6675c04d5f61cfbd99e52917b8bcc33b933c9b 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)
_srcdir="nym-vpn-client-nym-vpn-v2026.14.0"
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-10-21 00:12+++ PKGBUILD @ 2026-11-01 00:21@@ -4,7 +4,7 @@ # Contributor: Pierre Dommerc <pierre@nymtech.net> pkgname=nym-vpnd-pkgver=2026.13.1+pkgver=2026.14.0 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.13.1.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')-sha256sums=(e4b6c70e8d2c20b5fc7fbd51757decf0a7b7f060d69e8f0e9f06a8cf816ff2d3 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)-_srcdir="nym-vpn-client-nym-vpn-v2026.13.1"+source=("$url/archive/refs/tags/nym-vpn-v2026.14.0.tar.gz" 'nym-vpnd.service' 'nym-vpn.conf')+sha256sums=(e4c00f89e7d35be34c4ad3258d6675c04d5f61cfbd99e52917b8bcc33b933c9b 66d5b043cbef2ae0ba19cc7685c7b42808515b8b520b0dd15a0c313ca039f6d6 af03cbdb98708e60038d784503d99f382595f3a1e020fea41d5c2cc5800de319)+_srcdir="nym-vpn-client-nym-vpn-v2026.14.0" prepare() { pushd "$_srcdir"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | 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 00:13:10 | Medium | 2 |
| 2026-10-21 23:33:14 | Medium | 1 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |