{"id":"GHSA-26hr-q2wp-rvc5","summary":"User with permission to write actions can impersonate another user when auth token is configured in environment variable","details":"### Impact\n\nWhen lakeFS is configured with **ALL** of the following:\n\n- Configuration option `auth.encrypt.secret_key` passed through environment variable\n- Actions enabled via configuration option `actions.enabled` (default enabled)\n\nthen a user who can configure an action can impersonate any other user.\n\n### Patches\n_Has the problem been patched? What versions should users upgrade to?_\n\n### Workarounds\n\n**ANY ONE** of these is sufficient to prevent the issue:\n\n* Do not pass `auth.encrypt.secret_key` through an environment variable.\n\n   For instance, Kubernetes users can generate the entire configuration as a secret and mount that.  This is described [here](https://kubernetes.io/docs/concepts/configuration/secret/#using-a-secret).\n* Disable actions.\n* Limit users allowed to configure actions.\n\n","aliases":["GO-2023-2397"],"modified":"2024-08-21T14:57:06.124029Z","published":"2023-12-12T00:58:04Z","database_specific":{"cwe_ids":[],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2023-12-12T00:58:04Z","nvd_published_at":null},"references":[{"type":"WEB","url":"https://github.com/treeverse/lakeFS/security/advisories/GHSA-26hr-q2wp-rvc5"},{"type":"PACKAGE","url":"https://github.com/treeverse/lakeFS"}],"affected":[{"package":{"name":"github.com/treeverse/lakefs","ecosystem":"Go","purl":"pkg:golang/github.com/treeverse/lakefs"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.3.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/12/GHSA-26hr-q2wp-rvc5/GHSA-26hr-q2wp-rvc5.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L"}]}