{"id":"GHSA-26hr-q2wp-rvc5","aliases":["GO-2023-2397"],"status":"published","title":"User with permission to write actions can impersonate another user when auth token is configured in environment variable","description":"### 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.","severity":{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L","level":"medium","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2023-12-12T00:58:04Z","modified":"2026-03-03T04:54:25Z","fixes":[{"ecosystem":"Go","package":"github.com/treeverse/lakefs","fixed_in":["1.3.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/treeverse/lakefs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.3.1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/treeverse/lakefs","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.3.1"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/treeverse/lakefs","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.3.1"}]}]}],"references":[{"url":"https://github.com/treeverse/lakeFS/security/advisories/GHSA-26hr-q2wp-rvc5","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-26hr-q2wp-rvc5"},{"url":"https://github.com/treeverse/lakeFS","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-26hr-q2wp-rvc5","title":"User with permission to write actions can impersonate another user when auth token is configured in environment variable","description":"### 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","status":"published","published":"2023-12-12T00:58:04Z","modified":"2023-12-12T00:58:05Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L","level":"medium"}],"updated_at":"2026-11-02T14:37:25.311671Z"}],"osv":[{"id":"GHSA-26hr-q2wp-rvc5","title":"User with permission to write actions can impersonate another user when auth token is configured in environment variable","description":"### 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","status":"published","published":"2023-12-12T00:58:04Z","modified":"2024-08-21T14:57:06.124029Z","cvss":[{"version":"3.1","score":6.2,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L","level":"medium"}],"updated_at":"2026-11-02T15:46:33.956911Z"},{"id":"GO-2023-2397","title":"User with permission to write actions can impersonate another user when auth token is configured in environment variable in github.com/treeverse/lakefs","description":"User with permission to write actions can impersonate another user when auth token is configured in environment variable in github.com/treeverse/lakefs","status":"published","published":"2024-08-21T14:30:24Z","modified":"2026-03-03T04:54:25.14506Z","updated_at":"2026-11-02T15:47:01.185262Z"}]}}
