kerio-firewall-admin
maintainer Muflone
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt Windows executable and a Wine binary from non-whitelisted but plausibly official sources; both are used to bundle a legacy application, and the build process does not execute arbitrary remote code or exfiltrate data.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt Windows executable and a Wine binary from non-whitelisted but plausibly official sources; both are used to bundle a legacy application, and the build process does not execute arbitrary remote code or exfiltrate data.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:17
source=("http://download.kerio.com/dwn/kwf/kerio-kwf-admin-${pkgver%.*}-${pkgver##*.}-win32.exe" -
PKGBUILD:18
"wine-${_wineversion}-linux-x86.tar.gz::http://www.playonlinux.com/wine/binaries/linux-x86/PlayOnLinux-wine-${_wineversion}-linux-x86.pol"
PKGBUILD
2 offending line(s) highlighted
1
# Maintainer: Muflone http://www.muflone.com/contacts/english/
2
3
pkgname=kerio-firewall-admin
4
pkgver=6.7.1.6544
5
pkgrel=5
6
_wineversion=1.7.53
7
pkgdesc="Kerio Administration Console to manage Kerio Firewall (previously named Kerio Winroute) servers"
8
arch=('i686' 'x86_64')
9
url="http://download.kerio.com/archive/download.php"
10
license=('custom')
11
depends=('gtk-update-icon-cache' 'desktop-file-utils' 'shared-mime-info')
12
depends_i686=('libxext')
13
depends_x86_64=('lib32-freetype2' 'lib32-alsa-lib' 'lib32-glu' 'lib32-libldap' 'lib32-libsm' 'lib32-libxml2')
14
makedepends_i686=('freetype2')
15
makedepends_x86_64=('lib32-freetype2')
16
install=${pkgname}.install
17
source=("http://download.kerio.com/dwn/kwf/kerio-kwf-admin-${pkgver%.*}-${pkgver##*.}-win32.exe"
18
"wine-${_wineversion}-linux-x86.tar.gz::http://www.playonlinux.com/wine/binaries/linux-x86/PlayOnLinux-wine-${_wineversion}-linux-x86.pol"
19
"files-needed-by-wine-${_wineversion}.txt"
20
"${pkgname}"
21
"${pkgname}-16.png"
22
"${pkgname}-24.png"
23
"${pkgname}-32.png"
24
"${pkgname}-48.png"
25
"${pkgname}.desktop"
26
"${pkgname}-wradmin.desktop"
27
"${pkgname}.xml")
28
sha256sums=('231a51ace76f94464b107cabfed5c8fd79cfce8a6d618f33a94c01f73d7979bf'
29
'460f16e2cf5c9851305d4f5f411c93e46731e0e3af5ff9fcf78757c2df93b490'
30
'22ed5585b6d52bf9914b1ad48b97d55d66288ebee3d005800b403b13282b47e4'
31
'fa4e1af9669c91252c705063deb5f8de83d249dd5f5de4fd4c4f8a16ce67a650'
32
'950c6f17587578c1a6a900790112261437e41af34769e8eff17a34307a2bdc5e'
33
'0000cb7a8225e6bdbc00e28e3c660f919e563d0153322dcf9581f3d97ea7ebcb'
34
'c2f7a59b33a0c6862003f7461fc573cac5c6a7468c24e6d567e5d13aae00e311'
35
'13ec6a852125cd499936e54560fd5d7593b93241fc3ff222d26aec2b557118a3'
36
'89685e598ca5daacd1a0eed90407474c0122c3095e2a4f581cc2bebd0593fe88'
37
'0225a313576ddd8211cac7f6a979c7a20a5718d04907b77371818106a54ebc0d'
38
'8b614c7bcb589f7e7dee22e3a43c634cad6d9f45ad3df8c3b34e1b13fe2e6c7c')
39
40
build() {
41
# Prepares the wine environment
42
install -m755 -d "${srcdir}/wine" "${srcdir}/local"
43
export WINEPREFIX="${srcdir}/wine"
44
export XDG_DATA_HOME="${srcdir}/local"
45
export WINEDLLOVERRIDES="mscoree,mshtml,winemp3.acm="
46
export WINEDEBUG=-all
47
msg2 "Install Kerio Firewall Administration in a temporary wine environment"
48
LD_PRELOAD= wineversion/${_wineversion}/bin/wine "${srcdir}/kerio-kwf-admin-${pkgver%.*}-${pkgver##*.}-win32.exe" /S /v'/qn INSTALLDIR="C:\\Kerio"'
49
}
50
51
package() {
52
msg2 "Copy the Kerio program files"
53
install -m 755 -d "${pkgdir}/usr/share/${pkgname}"
54
cp -r "${srcdir}/wine/drive_c/Kerio/Admin" "${pkgdir}/usr/share/${pkgname}/Admin"
55
56
msg2 "Copy the files needed by the portable wine instance"
57
install -m 755 -d "${pkgdir}/usr/lib/${pkgname}"
58
install -m 755 -d "${pkgdir}/usr/lib/${pkgname}/wine"
59
while read file
60
do
61
if [ ! "${file:0:1}" = '#' ]
62
then
63
if [ "${file:${#file}-1}" = '/' ]
64
then
65
# Create directory
66
install -m 755 -d "${pkgdir}/usr/lib/${pkgname}/wine/${file}"
67
else
68
# Copy file
69
install -m 644 -t "${pkgdir}/usr/lib/${pkgname}/wine/${file%/*}" "${srcdir}/wineversion/${_wineversion}/${file}"
70
fi
71
else
72
msg2 "Skipping file ${file:1}"
73
fi
74
done < files-needed-by-wine-${_wineversion}.txt
75
msg2 "Create libraries symlinks"
76
ln -s "libwine.so.1.0" "${pkgdir}/usr/lib/${pkgname}/wine/lib/libwine.so"
77
ln -s "libwine.so.1.0" "${pkgdir}/usr/lib/${pkgname}/wine/lib/libwine.so.1"
78
79
msg2 "Change files permissions"
80
chmod +x "${pkgdir}/usr/lib/${pkgname}/wine/bin"/*
81
chmod +x "${pkgdir}/usr/lib/${pkgname}/wine/lib"/*
82
chmod +x "${pkgdir}/usr/lib/${pkgname}/wine/lib/wine"/*
83
msg2 "Install startup script"
84
install -m 755 -d "${pkgdir}/usr/bin"
85
install -m 755 -t "${pkgdir}/usr/bin" "${pkgname}"
86
msg2 "Install the license file"
87
install -m 755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
88
ln -s "../../${pkgname}/Admin/acknowledgments.txt" "${pkgdir}/usr/share/licenses/${pkgname}"
89
msg2 "Install icons and desktop files"
90
install -m 644 -D ${pkgname}-16.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/${pkgname}.png"
91
install -m 644 -D ${pkgname}-24.png "${pkgdir}/usr/share/icons/hicolor/24x24/apps/${pkgname}.png"
92
install -m 644 -D ${pkgname}-32.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/${pkgname}.png"
93
install -m 644 -D ${pkgname}-48.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/${pkgname}.png"
94
install -m 644 -D ${pkgname}.desktop "${pkgdir}/usr/share/applications/${pkgname}.desktop"
95
install -m 644 -D ${pkgname}-wradmin.desktop "${pkgdir}/usr/share/applications/${pkgname}-wradmin.desktop"
96
install -m 644 -D ${pkgname}.xml "${pkgdir}/usr/share/mime/packages/${pkgname}.xml"
97
}
98
99
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |