ofork

maintainer orphaned · 1 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads source tarballs and OPM add-on files from the project's own domain (o-fork.de) for building and installation, which is normal for AUR packages; the host is not on the analyzer's whitelist but is plausibly official, and the files are not executable payloads but application data and code meant to be installed as-is.

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 source tarballs and OPM add-on files from the project's own domain (o-fork.de) for building and installation, which is normal for AUR packages; the host is not on the analyzer's whitelist but is plausibly official, and the files are not executable payloads but application data and code meant to be installed as-is.

2 higher static findings 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:44 "https://ftp.o-fork.de/ofork-${pkgver}.tar.gz"
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:104 find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Timo Sarawinski <timo@it-kraut.net>
2pkgname=ofork
3pkgver=10.0.6
4pkgrel=1
5pkgdesc="OFORK is a OTRS fork open-source Help Desk and IT Service Management (ITSM)"
6arch=("any")
7options=("emptydirs")
8url="https://o-fork.de/"
9license=("GPLv3")
10depends=("perl"
11 "perl-gd"
12 "perl-dbi"
13 "perl-ldap"
14 "perl-ntlm"
15 "perl-dbd-pg"
16 "perl-gdgraph"
17 "perl-json-xs"
18 "perl-net-dns"
19 "perl-datetime"
20 "perl-timedate"
21 "perl-pdf-api2"
22 "perl-dbd-odbc"
23 "perl-dbd-mysql"
24 "perl-gdtextutil"
25 "perl-xml-parser"
26 "perl-archive-zip"
27 "perl-text-csv-xs"
28 "perl-xml-libxslt"
29 "perl-authen-sasl"
30 "perl-crypt-ssleay"
31 "perl-yaml-libyaml"
32 "perl-mail-imapclient"
33 "perl-template-toolkit"
34 "perl-lwp-protocol-https"
35 "perl-bytes-random-secure")
36optdepends=("mariadb: Fast SQL database server, drop-in replacement for MySQL"
37 "apache: A high performance Unix-based HTTP server"
38 "perl-crypt-eksblowfish"
39 "mod_perl"
40 "perl-dbd-oracle")
41backup=("etc/webapps/${pkgname}/Config.pm")
42install="${pkgname}.install"
43source=("${pkgname}.install"
44 "https://ftp.o-fork.de/ofork-${pkgver}.tar.gz"
45 "https://ftp.o-fork.de/ITSM/Bundle10/ITSM-${pkgver}.opm"
46 "https://ftp.o-fork.de/ITSM/GeneralCatalog-${pkgver}.opm"
47 "https://ftp.o-fork.de/ITSM/ITSMCore-${pkgver}.opm"
48 "https://ftp.o-fork.de/ITSM/ITSMChangeManagement-${pkgver}.opm"
49 "https://ftp.o-fork.de/ITSM/ITSMConfigurationManagement-${pkgver}.opm"
50 "https://ftp.o-fork.de/ITSM/ITSMIncidentProblemManagement-${pkgver}.opm"
51 "https://ftp.o-fork.de/ITSM/ImportExport-${pkgver}.opm"
52 "https://ftp.o-fork.de/AddOns/FAQ-${pkgver}.opm"
53 "https://ftp.o-fork.de/AddOns/MasterSlave-${pkgver}.opm"
54 "https://ftp.o-fork.de/AddOns/Survey-${pkgver}.opm")
55sha256sums=('237bea50871d37e6822b5b47c6c47e90061981293a7edfe3c679e968e7088b42'
56 '4ced20e6d169fd4c6ceb5ebad0135259ceb9c48e407ec35bc45b51f30b234177'
57 '169295ee25277f10d4d9bb9280d5146f59516033a58b9c3664d20eeae8896895'
58 '239ffa321145f8fac7ef480eb79f2cb4e6de4978afad1c05763088cf9b81b50c'
59 'e96752cdf06d2f5b8f947a210b7bb3c85ca4e1ed4616f050dc36b83972870fc8'
60 '2e42459039008ea7207713df2c8e2809ee97c0862aa9fd05bf430f66596dcbd5'
61 'd98922f43d0e3d94f543ce9fa395d35224b3eef65791fc6705bb2d1b22c405b6'
62 '0fb07b80aca5604e65ef02a81434c291e0ce2fb3ed067522f16714f2a0ba5b02'
63 'df2edad77d4d7b7f656a3e7796cf9fe537b030005685c3d08a8e99708e22ac04'
64 '94663ab7a9d1083acc4262a85637eadf347b4e2a7a5db3dbec3eea0cea3cfffe'
65 'c1942619d671eaa8ff57f7b9b307f0b2160a96e5c6002670c069c776a248e445'
66 'f2d2076df7bd682ae163a6de6da587886e20e6a26ff1fbd733b8c4bd96f61274')
67
68prepare() {
69cat << EOL > "${srcdir}/${pkgname}.service"
70[Unit]
71Description=OFORK Daemon
72After=network.target
73
74[Service]
75User=ofork
76Group=http
77Type=simple
78ExecStart=/usr/share/webapps/ofork/bin/ofork.Daemon.pl start
79ExecStop=/usr/share/webapps/ofork/bin/ofork.Daemon.pl stop
80RemainAfterExit=yes
81
82[Install]
83WantedBy=multi-user.target
84EOL
85}
86
87package() {
88 install -dm 0755 "${pkgdir}/etc/webapps/${pkgname}"
89 install -dm 0755 "${pkgdir}/usr/share/webapps/${pkgname}"
90
91 install -Dm 0644 "${srcdir}/${pkgname}-${pkgver}/Kernel/Config.pm.dist" "${pkgdir}/etc/webapps/${pkgname}/Config.pm"
92 install -Dm 0644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
93
94 cp -ra ${srcdir}/${pkgname}-${pkgver}/* ${pkgdir}/usr/share/webapps/${pkgname}/
95
96 for FILENAME in ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/*.dist
97 do
98 mv $FILENAME ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/`basename $FILENAME .dist`
99 done
100 rm "${pkgdir}/usr/share/webapps/${pkgname}/Kernel/Config.pm"
101 ln -s "/etc/webapps/${pkgname}/Config.pm" "${pkgdir}/usr/share/webapps/${pkgname}/Kernel/Config.pm"
102
103
104 find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;
105
106 sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/etc/webapps/${pkgname}")
107 sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/usr/share/webapps/${pkgname}")
108}
109

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 3
2026-08-02 00:16:08 LOW 3
2026-08-01 00:11:18 LOW 3
2026-07-31 00:14:10 LOW 3
2026-07-30 00:17:23 LOW 3
2026-07-29 00:25:53 LOW 3
2026-07-28 00:07:28 LOW 3
2026-07-27 00:24:32 LOW 3
2026-07-26 00:07:32 LOW 3
2026-07-25 00:13:44 LOW 3
2026-07-24 00:02:28 LOW 3
2026-07-23 00:14:47 LOW 3
2026-07-22 00:29:32 LOW 3
2026-07-21 00:24:15 LOW 3
2026-07-20 00:19:49 LOW 3
2026-07-19 00:17:08 LOW 3
2026-07-18 00:14:48 LOW 3
2026-07-17 00:06:16 LOW 3
2026-07-16 00:05:41 LOW 3
2026-07-15 00:09:25 LOW 3

Report a package

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

0 / 4000
Your suggestion