26.8.2 is a security-patch release: it fixes 36 unique CVEs (deterministic advisory scan, adjudicated
COUNTED) plus upgrades the bundled Quarkus to 3.40.1.1. Representative fixes include stored XSS on the
login page, SAML endpoint DoS/OOM, DCR/account-takeover issues, and an OIDC offline-token revocation
bypass. No documented breaking config changes; Liquibase applies any schema updates automatically at
startup.
Verification (live on cc-ci, before CI)
Deployed the published 26.8.1 + mariadb:13.0 on a fresh dev-keycloak stack, seeded a realm +
client through the Admin API, then redeployed this WIP head (26.8.2) over the same data volume:
app converged 1/1 on keycloak/keycloak:26.8.2 (Quarkus 3.40.1.1), Bootstrap completed;
## Recipe upgrade: keycloak 26.8.1 → 26.8.2
App-only patch bump. `mariadb` stays at `13.0` (last week's bump is already in upstream main, `10.9.7+26.8.1`).
### Image tag table
| service | image | current | new |
|---------|-------|---------|-----|
| app | keycloak/keycloak | 26.8.1 | **26.8.2** |
| db | mariadb | 13.0 | 13.0 (unchanged) |
### What changed
- `compose.yml`: `keycloak/keycloak:26.8.1` → `keycloak/keycloak:26.8.2`
- No compose/config/env/volume/secret changes required.
- **Recipe version label intentionally untouched** (`10.9.7+26.8.1`); the release bump is the operator's
final publish step (see below).
### Upstream release notes
**Upstream release notes:** keycloak 26.8.1→26.8.2: https://github.com/keycloak/keycloak/releases/tag/26.8.2
**Migration guide:** https://www.keycloak.org/docs/latest/upgrading/#migration-changes
**Upstream release notes:** mariadb 13.0 (unchanged): https://mariadb.com/docs/release-notes/community-server/13.0/
26.8.2 is a security-patch release: it fixes 36 unique CVEs (deterministic advisory scan, adjudicated
COUNTED) plus upgrades the bundled Quarkus to 3.40.1.1. Representative fixes include stored XSS on the
login page, SAML endpoint DoS/OOM, DCR/account-takeover issues, and an OIDC offline-token revocation
bypass. No documented breaking config changes; Liquibase applies any schema updates automatically at
startup.
### Verification (live on cc-ci, before CI)
Deployed the published `26.8.1` + `mariadb:13.0` on a fresh `dev-keycloak` stack, seeded a realm +
client through the Admin API, then redeployed this WIP head (`26.8.2`) over the same data volume:
- app converged `1/1` on `keycloak/keycloak:26.8.2` (Quarkus 3.40.1.1), `Bootstrap completed`;
- master-realm OIDC discovery → HTTP 200; seeded `upgradeprobe` realm discovery → HTTP 200;
- the seeded `probe-client` survived the upgrade;
- dev stack + volumes torn down afterwards (0 leaked stacks/volumes).
`abra recipe lint keycloak -C -n` → exit 0 (only the pre-existing R002 healthcheck / R015 secret-name
warnings). Existing cc-ci tests used unchanged.
### Recommended release (operator, after merge; do NOT run here)
This is a patch/security bump, so the release is a **patch** bump:
```
abra recipe release keycloak -z
```
### Advisory scan
36 CVEs fixed by this upgrade (see the run log in `/srv/cc-ci/.cc-ci-logs/upgrades/keycloak-upgrade-2026-11-06.md`).
Tested on the cc-ci recipe CI server (full suite, cold, against this PR head). **NOT merged** — for
operator review.
cc @trav @notplants
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
cc @trav @notplants
Upstreamed to git.coopcloud.tech/coop-cloud/keycloak and released as `10.9.8+26.8.2`: https://git.coopcloud.tech/coop-cloud/keycloak/src/tag/10.9.8+26.8.2 — closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Recipe upgrade: keycloak 26.8.1 → 26.8.2
App-only patch bump.
mariadbstays at13.0(last week's bump is already in upstream main,10.9.7+26.8.1).Image tag table
What changed
compose.yml:keycloak/keycloak:26.8.1→keycloak/keycloak:26.8.210.9.7+26.8.1); the release bump is the operator'sfinal publish step (see below).
Upstream release notes
Upstream release notes: keycloak 26.8.1→26.8.2: https://github.com/keycloak/keycloak/releases/tag/26.8.2
Migration guide: https://www.keycloak.org/docs/latest/upgrading/#migration-changes
Upstream release notes: mariadb 13.0 (unchanged): https://mariadb.com/docs/release-notes/community-server/13.0/
26.8.2 is a security-patch release: it fixes 36 unique CVEs (deterministic advisory scan, adjudicated
COUNTED) plus upgrades the bundled Quarkus to 3.40.1.1. Representative fixes include stored XSS on the
login page, SAML endpoint DoS/OOM, DCR/account-takeover issues, and an OIDC offline-token revocation
bypass. No documented breaking config changes; Liquibase applies any schema updates automatically at
startup.
Verification (live on cc-ci, before CI)
Deployed the published
26.8.1+mariadb:13.0on a freshdev-keycloakstack, seeded a realm +client through the Admin API, then redeployed this WIP head (
26.8.2) over the same data volume:1/1onkeycloak/keycloak:26.8.2(Quarkus 3.40.1.1),Bootstrap completed;upgradeproberealm discovery → HTTP 200;probe-clientsurvived the upgrade;abra recipe lint keycloak -C -n→ exit 0 (only the pre-existing R002 healthcheck / R015 secret-namewarnings). Existing cc-ci tests used unchanged.
Recommended release (operator, after merge; do NOT run here)
This is a patch/security bump, so the release is a patch bump:
Advisory scan
36 CVEs fixed by this upgrade (see the run log in
/srv/cc-ci/.cc-ci-logs/upgrades/keycloak-upgrade-2026-11-06.md).Tested on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for
operator review.
cc @trav @notplants
Tested green on the cc-ci recipe CI server (full suite, cold, against this PR head). NOT merged — for operator review.
cc @trav @notplants
!testme
🌻 cc-ci —
keycloak@1ad160b4✅ passedfull logs · dashboard
Upstreamed to git.coopcloud.tech/coop-cloud/keycloak and released as
10.9.8+26.8.2: https://git.coopcloud.tech/coop-cloud/keycloak/src/tag/10.9.8+26.8.2 — closing.Pull request closed