xlibre-server-common-bin
This PKGBUILD downloads a prebuilt binary package (xlibre-xserver-common-25.0.0.21-1-x86_64.pkg.tar.zst) from x11libre.net, which is not an official Arch Linux mirror or a widely recognized upstream distribution point. XLibre is a real fork of X.Org (it exists as a project), but the binary is served from a personal/project-controlled host rather than built from source. The package then extracts and installs the binary directly into pkgdir, meaning whatever is in that tarball gets installed as root-level system files (under /usr and /var). A sha256sum is provided, which mitigates substitution attacks somewhat, but does not protect against the host serving malicious content from the start. Since this installs an X server component (a privileged, deeply integrated system binary) from a non-standard third-party host without building from source, this represents a genuine supply-chain risk: if x11libre.net is compromised or the maintainer is malicious, arbitrary code could be executed with elevated privileges on the target system. The medium rating is appropriate.
Triggered rules
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:28
source=(https://x11libre.net/repo/arch_based/x86_64/xlibre-xserver-common-25.0.0.21-1-x86_64.pkg.tar.zst)
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt binary package (xlibre-xserver-common-25.0.0.21-1-x86_64.pkg.tar.zst) from x11libre.net, which is not an official Arch Linux mirror or a widely recognized upstream distribution point. XLibre is a real fork of X.Org (it exists as a project), but the binary is served from a personal/project-controlled host rather than built from source. The package then extracts and installs the binary directly into pkgdir, meaning whatever is in that tarball gets installed as root-level system files (under /usr and /var). A sha256sum is provided, which mitigates substitution attacks somewhat, but does not protect against the host serving malicious content from the start. Since this installs an X server component (a privileged, deeply integrated system binary) from a non-standard third-party host without building from source, this represents a genuine supply-chain risk: if x11libre.net is compromised or the maintainer is malicious, arbitrary code could be executed with elevated privileges on the target system. The medium rating is appropriate.
PKGBUILD
1 offending line(s) highlighted# Maintainer: artist for XLibre <artist4xlibre@proton.me>
_pkgname=xlibre-server-common
_orgpkgname=xlibre-xserver-common
pkgname=$_pkgname-bin
pkgver=25.0.0.21
pkgrel=1
pkgdesc="XLibre Official Easy Install Drop in Replacement fork of X.Org Xorg server common files (binary release)"
arch=(x86_64)
url=https://x11libre.net/repo/arch_based/x86_64
license=('LicenseRef-Adobe-Display-PostScript'
'BSD-3-Clause'
'LicenseRef-DEC-3-Clause'
'HPND'
'LicenseRef-HPND-sell-MIT-disclaimer-xserver'
'HPND-sell-variant'
'ICU'
'ISC'
'MIT'
'MIT-open-group'
'NTP'
'SGI-B-2.0'
'SMLNJ'
'X11'
'X11-distribute-modifications-variant')
groups=('xlibre')
options=(!strip)
source=(https://x11libre.net/repo/arch_based/x86_64/xlibre-xserver-common-25.0.0.21-1-x86_64.pkg.tar.zst)
noextract=("${_pkgname}-${pkgver}-${pkgrel}-x86_64.pkg.tar.zst")
depends=(xkeyboard-config xorg-xkbcomp xorg-setxkbmap)
provides=($_pkgname 'xorg-server-common')
conflicts=($_pkgname 'xorg-server-common')
sha256sums=('ab7b3dd752e5e00e9398316a96f98da9c958183e739522f2cf7f971d1a31cdf7')
package() {
tar -xf "${_orgpkgname}-${pkgver}-${pkgrel}-x86_64.pkg.tar.zst" -C "${pkgdir}" usr var
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Medium | 2 |
| 2026-09-16 00:03:17 | Medium | 2 |
| 2026-09-15 00:25:31 | Medium | 2 |
| 2026-09-14 00:27:57 | Medium | 2 |
| 2026-09-13 00:19:54 | Medium | 2 |
| 2026-09-12 00:25:17 | Medium | 2 |
| 2026-09-11 00:19:22 | Medium | 2 |
| 2026-09-10 00:22:44 | Medium | 2 |
| 2026-09-09 00:04:09 | Medium | 2 |
| 2026-09-08 00:18:08 | Medium | 2 |
| 2026-09-07 00:30:15 | Medium | 2 |
| 2026-09-06 00:17:06 | Medium | 2 |
| 2026-09-05 00:16:27 | Medium | 2 |
| 2026-09-04 00:03:13 | Medium | 2 |
| 2026-09-03 00:15:47 | Medium | 2 |
| 2026-09-02 00:02:31 | Medium | 2 |
| 2026-09-01 00:11:19 | Medium | 2 |
| 2026-08-31 00:19:57 | Medium | 2 |
| 2026-08-30 00:04:14 | Medium | 2 |
| 2026-08-29 00:29:17 | Medium | 2 |