otrs

maintainer ArteS · 11 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The source is a tarball from the project's official community website, used to build the package normally; the host is not whitelisted but is plausibly official, and the content is source code, not an unverifiable binary.

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 source is a tarball from the project's official community website, used to build the package normally; the host is not whitelisted but is plausibly official, and the content is source code, not an unverifiable binary.

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:42 "https://otrscommunityedition.com/download/${pkgname}-community-edition-${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:81 find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;

PKGBUILD

2 offending line(s) highlighted
1pkgname=otrs
2pkgver=6.0.41
3pkgrel=1
4pkgdesc="OTRS is the leading open-source Help Desk and IT Service Management (ITSM)"
5arch=("any")
6options=("emptydirs")
7url="https://otrscommunityedition.com/"
8license=("GPLv3")
9depends=("perl"
10 "perl-gd"
11 "perl-dbi"
12 "perl-moo"
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-crypt-eksblowfish"
35 "perl-lwp-protocol-https"
36 "perl-bytes-random-secure")
37optdepends=("mariadb: Fast SQL database server, drop-in replacement for MySQL"
38 "apache: A high performance Unix-based HTTP server")
39backup=("etc/webapps/${pkgname}/Config.pm")
40install="${pkgname}.install"
41source=("${pkgname}.install"
42 "https://otrscommunityedition.com/download/${pkgname}-community-edition-${pkgver}.tar.gz")
43sha256sums=("cb10dda941c7477880ae06362ef69fe0cfb1d06ad9ad1315cb7322d4dd65963e"
44 "0303856d6c6b74637aa1a6a1c37bc5315840b54cf3e31a39f7690000bda9b956")
45
46prepare() {
47cat << EOL > "${srcdir}/${pkgname}.service"
48[Unit]
49Description=OTRS Daemon
50After=network.target
51
52[Service]
53User=otrs
54Group=http
55Type=simple
56ExecStart=/usr/share/webapps/otrs/bin/otrs.Daemon.pl start
57ExecStop=/usr/share/webapps/otrs/bin/otrs.Daemon.pl stop
58RemainAfterExit=yes
59
60[Install]
61WantedBy=multi-user.target
62EOL
63}
64
65package() {
66 install -dm 0755 "${pkgdir}/etc/webapps/${pkgname}"
67 install -dm 0755 "${pkgdir}/usr/share/webapps/${pkgname}"
68
69 install -Dm 0644 "${srcdir}/${pkgname}-community-edition-${pkgver}/Kernel/Config.pm.dist" "${pkgdir}/etc/webapps/${pkgname}/Config.pm"
70 install -Dm 0644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
71
72 cp -ra ${srcdir}/${pkgname}-community-edition-${pkgver}/* ${pkgdir}/usr/share/webapps/${pkgname}/
73
74 for FILENAME in ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/*.dist
75 do
76 mv $FILENAME ${pkgdir}/usr/share/webapps/${pkgname}/var/cron/`basename $FILENAME .dist`
77 done
78
79 ln -s "/etc/webapps/${pkgname}/Config.pm" "${pkgdir}/usr/share/webapps/${pkgname}/Kernel/Config.pm"
80
81 find "${pkgdir}/usr/share/webapps/${pkgname}" -type d -exec chmod 2775 {} \;
82
83 sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/etc/webapps/${pkgname}")
84 sed -i "s/\/opt/\/usr\/share\/webapps/g" $(grep -rl "/opt" "${pkgdir}/usr/share/webapps/${pkgname}")
85}
86

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