f5vpn-ng

maintainer zrhoffman · 15 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt .deb from a non-whitelisted host (cdn.f5.com) with a SKIP'd checksum, constituting a supply-chain risk, and applies a setuid bit to a binary, which is a privileged operation.

Triggered rules

MEDIUM source=() URL on a non-standard host source_untrusted_domain

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

  • PKGBUILD:10 'license.html::https://cdn.f5.com/product/apm/apps/eula.html')
  • PKGBUILD:11 source_aarch64=("linux_${_pkgname}-${pkgver}.aarch64.deb::https://${mirror}/public/download/linux_${_pkgname}.aarch64.deb")
MEDIUM Privileged / out-of-pacman install (sudoers, setuid, or self-update) 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:40 chmod u+s "${srcdir}/usr/share/${pkgname}/svpn"
MEDIUM AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt .deb from a non-whitelisted host (cdn.f5.com) with a SKIP'd checksum, constituting a supply-chain risk, and applies a setuid bit to a binary, which is a privileged operation.

PKGBUILD

3 offending line(s) highlighted
1# Maintainer: Zach Hoffman <zach@zrhoffman.net>
2_pkgname=f5vpn
3pkgname=${_pkgname}-ng
4pkgver=7271.0.0.4
5pkgrel=4
6pkgdesc='VPN client using the Point-to-Point Protocol to connect to F5Networks BIG-IP APM'
7arch=(aarch64 x86_64)
8mirror=vpn.f5networks.net
9source=('com.f5.f5vpn.service' 'desktop-file-dbus.patch'
10 'license.html::https://cdn.f5.com/product/apm/apps/eula.html')
11source_aarch64=("linux_${_pkgname}-${pkgver}.aarch64.deb::https://${mirror}/public/download/linux_${_pkgname}.aarch64.deb")
12source_x86_64=("linux_${_pkgname}-${pkgver}.x86_64.deb::https://${mirror}/public/download/linux_${_pkgname}.x86_64.deb")
13sha256sums=('0c26681df93149e4339bc2de9aaf92ef4ed4cb926b8e127da72113d02c0923e5'
14 'c71a54a47cae863a095d03cee6b1b97c4fee49f799927abd13f44bd2374988bf'
15 'SKIP')
16sha256sums_aarch64=('4ad1008f04119975b169963960511174660403f63897be34f91abc4333418915')
17sha256sums_x86_64=('04f8c670fabfe4d125849832973c3441d741ec31b1a325d799b3e702964988c0')
18b2sums=('b2b3e60a956a4d55e12695d3a034832af321c57a3da6a907600062c723d8eb44b53473effb8346a3aef9e3423378e74e28b3f1d9ea643d19b4d7ebc4034880a6'
19 '62cac1949c36ca2d6f74f72d83e953d9cc95d7cee60acb3f03afcdce71b00e10e3e22613c206858e94a1a91076917cb28d9b2a75133120a344a93fc4a6c6cefc'
20 'SKIP')
21b2sums_aarch64=('48036a2df2c810bdbbbc3ab686da4f0ba1e4bb2c675fa6b0a15c848b8a59353d46ee8a6ea53fff2573961c31207efc732f5fab44b1e23106137b9708d89d9a24')
22b2sums_x86_64=('f8dac5cd7c42aeee508483041400392904e6a695bb8aca267c507c399240b0ea36764de05e591de7ad39024d01be80032fc8ae33c6d5416bd07fc2cab097b911')
23depends=(curl gtk3 openssl icu webkit2gtk-4.1)
24optdepends=(
25 'xorg-xwayland: wayland support'
26)
27provides=("${pkgname}")
28conflicts=("${_pkgname}")
29url='https://techdocs.f5.com/kb/en-us/products/big-ip_apm/releasenotes/related/relnote-edge-client-7-2-7-1.html'
30license=('commercial')
31
32pkgver() {
33 tar -xf data.tar.xz
34 grep -oEm1 --text '[0-9]+(\.[0-9]+){3}' "usr/share/${pkgname}/svpn"
35}
36
37package() {
38 # f5vpn-ng should not be run as root, but it calls svpn which must be privileged to run ip commands
39 # TODO: Make a dedicated f5vpn service account own and run svpn.
40 chmod u+s "${srcdir}/usr/share/${pkgname}/svpn"
41
42 (
43 cd "${srcdir}/usr/share/applications"
44 patch -i "${srcdir}/desktop-file-dbus.patch"
45 )
46 install -Dm644 "com.f5.f5vpn.service" "${pkgdir}/usr/lib/systemd/user/com.f5.${_pkgname}.service"
47 install -Dm644 'license.html' "${pkgdir}/usr/share/licenses/${_pkgname}/license.html"
48 install -dm755 "${pkgdir}/usr/local/lib/F5Networks/SSLVPN/var/run" # For svpn.pid
49
50 cp -a usr "${pkgdir}"
51}
52

Changes since previous scan

--- PKGBUILD @ 2026-07-26 00:07
+++ PKGBUILD @ 2026-08-03 00:08
@@ -2,7 +2,7 @@
_pkgname=f5vpn
pkgname=${_pkgname}-ng
pkgver=7271.0.0.4
-pkgrel=3
+pkgrel=4
pkgdesc='VPN client using the Point-to-Point Protocol to connect to F5Networks BIG-IP APM'
arch=(aarch64 x86_64)
mirror=vpn.f5networks.net
@@ -12,12 +12,12 @@
source_x86_64=("linux_${_pkgname}-${pkgver}.x86_64.deb::https://${mirror}/public/download/linux_${_pkgname}.x86_64.deb")
sha256sums=('0c26681df93149e4339bc2de9aaf92ef4ed4cb926b8e127da72113d02c0923e5'
'c71a54a47cae863a095d03cee6b1b97c4fee49f799927abd13f44bd2374988bf'
- '4507e09374f3e6044952f375e4a1af31505b267c4e0bb066ff159e85694a3d6e')
+ 'SKIP')
sha256sums_aarch64=('4ad1008f04119975b169963960511174660403f63897be34f91abc4333418915')
sha256sums_x86_64=('04f8c670fabfe4d125849832973c3441d741ec31b1a325d799b3e702964988c0')
b2sums=('b2b3e60a956a4d55e12695d3a034832af321c57a3da6a907600062c723d8eb44b53473effb8346a3aef9e3423378e74e28b3f1d9ea643d19b4d7ebc4034880a6'
'62cac1949c36ca2d6f74f72d83e953d9cc95d7cee60acb3f03afcdce71b00e10e3e22613c206858e94a1a91076917cb28d9b2a75133120a344a93fc4a6c6cefc'
- '234729d2ff102638d649e46aa7da193f3a46af396cf063876cbabb71b946ef2df4731519acc48f87e2a2d51f52e45ce494e04320a3fa006fbe5fb734820f51d8')
+ 'SKIP')
b2sums_aarch64=('48036a2df2c810bdbbbc3ab686da4f0ba1e4bb2c675fa6b0a15c848b8a59353d46ee8a6ea53fff2573961c31207efc732f5fab44b1e23106137b9708d89d9a24')
b2sums_x86_64=('f8dac5cd7c42aeee508483041400392904e6a695bb8aca267c507c399240b0ea36764de05e591de7ad39024d01be80032fc8ae33c6d5416bd07fc2cab097b911')
depends=(curl gtk3 openssl icu webkit2gtk-4.1)
@@ -35,12 +35,13 @@
}
package() {
- # f5vpn-ng should not be run as root, but it calls svpn which must be run as root
+ # f5vpn-ng should not be run as root, but it calls svpn which must be privileged to run ip commands
+ # TODO: Make a dedicated f5vpn service account own and run svpn.
chmod u+s "${srcdir}/usr/share/${pkgname}/svpn"
(
cd "${srcdir}/usr/share/applications"
- patch -i "${srcdir}/desktop-file-dbus.patch" # Desktop file does not work with Dbus enabled
+ patch -i "${srcdir}/desktop-file-dbus.patch"
)
install -Dm644 "com.f5.f5vpn.service" "${pkgdir}/usr/lib/systemd/user/com.f5.${_pkgname}.service"
install -Dm644 'license.html' "${pkgdir}/usr/share/licenses/${_pkgname}/license.html"

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 3
2026-08-02 00:16:08 MEDIUM 3
2026-08-01 00:11:18 MEDIUM 3
2026-07-31 00:14:10 MEDIUM 3
2026-07-30 00:17:23 MEDIUM 3
2026-07-29 00:25:53 MEDIUM 3
2026-07-28 00:07:28 MEDIUM 3
2026-07-27 00:24:32 MEDIUM 3
2026-07-26 13:32:26 MEDIUM 3
2026-07-26 00:07:32 MEDIUM 3
2026-07-25 00:13:44 MEDIUM 3
2026-07-24 00:02:28 MEDIUM 3
2026-07-23 00:14:47 MEDIUM 3
2026-07-22 19:21:42 MEDIUM 3
2026-07-22 00:29:32 MEDIUM 4
2026-07-21 21:18:19 MEDIUM 4
2026-07-21 19:19:47 MEDIUM 4
2026-07-21 19:17:41 MEDIUM 4

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion