context-modules

maintainer melonion · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt binary archive (context-linux-64.zip) from lmtx.pragma-ade.nl, which is actually the official Pragma ADE distribution host for ConTeXt LMTX — this is the canonical upstream source recommended by the ConTeXt wiki (linked in the url field). However, the checksum is SKIP, meaning there is no integrity verification of the downloaded archive. The install.sh script from that archive is then executed directly (chmod +x install.sh && ./install.sh), and binaries from the resulting tex/texmf-linux-64/bin/ are installed system-wide. While the host is the legitimate upstream, the combination of SKIP checksum plus executing a downloaded shell script and installing its produced binaries without any integrity check represents a genuine supply-chain risk: a compromise of lmtx.pragma-ade.nl or a MITM attack would result in arbitrary code execution on the builder's system. The SKIP is somewhat justified because ConTeXt LMTX is a rolling release with frequently updated archives at a stable URL, making static checksums impractical, but it still leaves the package vulnerable. This is a real medium-severity concern, not a false positive.

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:16 source=("http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip")
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt binary archive (context-linux-64.zip) from lmtx.pragma-ade.nl, which is actually the official Pragma ADE distribution host for ConTeXt LMTX — this is the canonical upstream source recommended by the ConTeXt wiki (linked in the url field). However, the checksum is SKIP, meaning there is no integrity verification of the downloaded archive. The install.sh script from that archive is then executed directly (chmod +x install.sh && ./install.sh), and binaries from the resulting tex/texmf-linux-64/bin/ are installed system-wide. While the host is the legitimate upstream, the combination of SKIP checksum plus executing a downloaded shell script and installing its produced binaries without any integrity check represents a genuine supply-chain risk: a compromise of lmtx.pragma-ade.nl or a MITM attack would result in arbitrary code execution on the builder's system. The SKIP is somewhat justified because ConTeXt LMTX is a rolling release with frequently updated archives at a stable URL, making static checksums impractical, but it still leaves the package vulnerable. This is a real medium-severity concern, not a false positive.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: xeruf <27jf at pm dot me>
2
3_pkgname=context
4pkgname=${_pkgname}-modules
5pkgver=2024.11.01_19.19
6pkgrel=1
7pkgdesc='ConTeXt LMTX with all ConTeXt Garden modules'
8arch=('x86_64')
9url="https://wiki.contextgarden.net/Installation"
10license=(GPL)
11depends=()
12replaces=()
13provides=(${_pkgname} ${_pkgname}-lmtx)
14conflicts=(${_pkgname})
15optdepends=()
16source=("http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip")
17sha256sums=(SKIP)
18install=${_pkgname}.install
19
20prepare() {
21 cd "${srcdir}"
22
23 chmod +x install.sh
24 ./install.sh
25
26 (
27 cd "tex"
28 TEXMF="$PWD" ../bin/mtxrun ---script install-modules --install --all
29 )
30}
31
32package() {
33 context="${pkgdir}/usr/share/texmf-dist"
34 cd "tex"
35
36 install -d "$context"
37 cp -r texmf texmf-context "$context"
38 install -Dt "${pkgdir}/usr/local/bin" texmf-linux-64/bin/*
39}
40
41pkgver() {
42 # TODO use https://wiki.contextgarden.net/LMTX#How_to_check_for_newer_versions.3F
43 cat "${srcdir}/tex/texmf-context/tex/context/base/mkxl/context.mkxl" |
44 grep "def\\\\contextversion" |
45 sed 's/^.*{\(.*\)}.*$/\1/' |
46 tr ' :' '_.'
47}
48

Scan history

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

Report a package

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

0 / 4000
Your suggestion