Skip to content

fix(keycloak): bump keycloak-kms-proxy to 0.2.1 - #3248

Closed
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
fix/keycloak-kms-proxy-0.2.1
Closed

fix(keycloak): bump keycloak-kms-proxy to 0.2.1#3248
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
fix/keycloak-kms-proxy-0.2.1

Conversation

@kvaps

@kvaps Andrei Kvapil (kvaps) commented Jul 8, 2026

Copy link
Copy Markdown
Member

What this PR does

Bumps the keycloak-kms-proxy image in the keycloak system package to v0.2.1.

v0.2.1 fixes silent ciphertext passthrough on the proxy read path: pgjdbc's server-prepared statements (the Describe-statement flow and warm Bind/Execute reuse) never produce a RowDescription during Execute, so the decrypt plan was never built and raw $KKP$ envelopes reached Keycloak — breaking the verify-email flow and leaking ciphertext into id_token email claims. The release also tracks simple-protocol queries and Sync boundaries (result-queue desyncs), and adds fail-loud metrics (kkp_ciphertext_passthrough_total, kkp_double_encrypted_total) so any undecrypted PII leaving the proxy is alertable.

The previous default also pointed at a non-existent v-prefixed image tag (v0.1.0) — the kms-proxy release workflow publishes semver tags without the prefix, so pulling the proxy with chart defaults could never succeed.

Screenshots

N/A — no UI changes.

Release note

fix(keycloak): keycloak-kms-proxy bumped to 0.2.1 — fixes undecrypted PII passthrough on server-prepared statements (verify-email / id_token) and the broken default image tag

Summary by CodeRabbit

  • Chores
    • Updated the Keycloak KMS proxy image to a newer version for deployments with database encryption enabled.

v0.2.1 fixes silent ciphertext passthrough on the proxy read path:
pgjdbc's server-prepared statements (Describe-statement flow and warm
Bind/Execute reuse) never produced a RowDescription during Execute, so
the decrypt plan was never built and raw $KKP$ envelopes reached
Keycloak — breaking verify-email and leaking ciphertext into id_token
claims. The release also adds fail-loud metrics for undecrypted
passthrough and double-encrypted rows.

The previous default also pointed at a non-existent v-prefixed image
tag (the release workflow publishes semver tags without the prefix), so
pulling the proxy with defaults could never succeed.

Assisted-By: Claude
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9ddba5f7-74c6-489d-998b-b5496f828319

📥 Commits

Reviewing files that changed from the base of the PR and between 0c7b598 and 3ce55a9.

📒 Files selected for processing (1)
  • packages/system/keycloak/values.yaml

📝 Walkthrough

Walkthrough

The Keycloak KMS proxy container image tag used for database encryption was updated from v0.1.0 to 0.2.1 in the Keycloak values.yaml configuration file.

Changes

Keycloak KMS Proxy Image Update

Layer / File(s) Summary
KMS proxy image tag bump
packages/system/keycloak/values.yaml
The keycloak-kms-proxy image tag used when database encryption is enabled is updated from v0.1.0 to 0.2.1.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested labels: area/keycloak

Suggested reviewers: sircthulhu, myasnikovdaniil

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/keycloak-kms-proxy-0.2.1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size/XS This PR changes 0-9 lines, ignoring generated files area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/bug Categorizes issue or PR as related to a bug labels Jul 8, 2026
@kvaps
Andrei Kvapil (kvaps) marked this pull request as ready for review July 8, 2026 18:39
@dosubot dosubot Bot added security Security-related issues and features security/fixed Fix released labels Jul 8, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the keycloak-kms-proxy component to version 0.2.1. The change addresses a significant vulnerability where encrypted data was incorrectly passed through to Keycloak during server-prepared statements, potentially exposing PII. Additionally, it fixes a deployment issue caused by an incorrect image tag reference in the configuration.

Highlights

  • Version Upgrade: Updated the keycloak-kms-proxy image from v0.1.0 to 0.2.1 to include critical security and functional fixes.
  • Security Fix: Resolved an issue where undecrypted PII (ciphertext) was leaking into Keycloak claims during specific database operations.
  • Configuration Fix: Corrected the image tag format to remove the invalid 'v' prefix, ensuring the container image can be pulled successfully.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment Gemini (@gemini-code-assist) Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on Gemini (@gemini-code-assist) comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the image tag for the keycloak-kms-proxy from v0.1.0 to 0.2.1 in the Keycloak system package's values.yaml configuration. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@kvaps

Copy link
Copy Markdown
Member Author

closed in favor #3239

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/bug Categorizes issue or PR as related to a bug security/fixed Fix released security Security-related issues and features size/XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant