Description
webhookd is a minimalist webhook server that triggers shell scripts and external processes through HTTP requests. Prior to 1.22.0, webhookd deployments without htpasswd authentication forwarded all incoming HTTP headers through HTTPParamsToShellVars in pkg/api/index.go into the hook script environment without an allowlist. When an upstream reverse proxy did not strip a client-supplied X-WebAuthn-User header and a hook script trusted that variable for identity or privilege, a remote unauthenticated attacker could spoof another user, bypass script security controls, and access or modify resources available to the impersonated identity. This issue is fixed in version 1.22.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ncarlier | webhookd | < 1.22 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | govulncheck-vulndb | 0.0.20260916T180043-160000.1.1 | SUSE-SU-2026:23863-1, SUSE-SU-2026:23855-1 |
| SLES 16.0 | govulncheck-vulndb | 0.0.20260916T180043-160000.1.1 | SUSE-SU-2026:23863-1, SUSE-SU-2026:23855-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | govulncheck-vulndb | 0.0.20260916T180043-160000.1.1 | openSUSE-SU-2026:21897-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/ncarlier/webhookd | < 1.22.0 | 1.22.0 | GHSA-v25g-mvwr-f5fp |
Advisories 3
- SUSE-SU-2026:23863-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Sep 27, 2026
- SUSE-SU-2026:23855-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Sep 27, 2026
- openSUSE-SU-2026:21897-1 Security update for govulncheck-vulndb SUSE / openSUSE Security Updates · Sep 25, 2026