)]}'
{"id":"openstack%2Fkeystone~990493","triplet_id":"openstack%2Fkeystone~stable%2F2026.1~I0bbb8520e12c52edd01fb47c873f0227819706f5","project":"openstack/keystone","branch":"stable/2026.1","attention_set":{},"removed_from_attention_set":{"14250":{"account":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"last_update":"2026-05-29 15:29:30.000000000","reason":"\u003cGERRIT_ACCOUNT_14250\u003e replied on the change","reason_account":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}},"27900":{"account":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"last_update":"2026-06-01 13:00:22.000000000","reason":"Change was submitted"}},"hashtags":["CVE-2026-44394"],"change_id":"I0bbb8520e12c52edd01fb47c873f0227819706f5","subject":"Preserve expires_at when rescoping federated tokens (CVE-2026-44394)","status":"MERGED","created":"2026-05-28 15:05:47.000000000","updated":"2026-06-01 13:03:02.000000000","submitted":"2026-06-01 13:00:22.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"990493","meta_rev_id":"278184cb662e72e7e059e9ea29e74728c396e6e1","_number":990493,"virtual_id_number":990493,"owner":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-06-01 13:00:22.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"all":[{"value":2,"date":"2026-06-01 08:56:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"all":[{"value":1,"date":"2026-06-01 08:56:30.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-05-28 15:05:47.000000000","updated_by":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"reviewer":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"state":"REVIEWER"},{"updated":"2026-05-28 17:44:27.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"20c56af993fdb2ed13fed7e32489e4c13ca0918b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"date":"2026-05-28 15:05:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"faa22cf3d90dee1344808705a549a128d6ddb774","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-28 17:44:27.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/e94bb75814b743e8abc15725eb1a371e\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/66a8240f5a994da4b57a9c55dd10e435 : SUCCESS in 19m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6e82ed3fc61f48a1b1025fe7d991b3ce : FAILURE in 7m 40s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/bd276312a05745c0b54b4211a263f7c1 : SUCCESS in 14m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c4ac3216f76b4c219ae0579bcb6e5398 : SUCCESS in 11m 21s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/1ce1caa7b3f846be8c14e0a22ef3604f : SUCCESS in 14m 44s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/de20ceceb06148919db679a434702958 : SUCCESS in 15m 28s\n- grenade https://zuul.opendev.org/t/openstack/build/75862b89769f49edb73f4db47772e78d : SUCCESS in 1h 07m 39s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a2e54c279d744c8fb21e4f4ccd3b6d6c : SUCCESS in 1h 54m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/4afad85b144042aeba0a7cb36f77eab8 : SUCCESS in 16m 00s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/a61d0dd7d34845f4b3c4d9fd3b4557fa : SUCCESS in 18m 31s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/498036b415424b508c0b9251405c3c28 : SUCCESS in 33m 33s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/94b44c230d884ad7baa437c7dd9b8986 : FAILURE in 21m 27s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/f3cb38015a8e400bb1db096a3153a04b : FAILURE in 25m 12s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/90e6c5a5bfb140fbb46b61386aa6501e : SUCCESS in 32m 38s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/5e9fc20b9d36457988cd1d1a06540f91 : FAILURE in 33m 03s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/8fe7025a25e3441498d4dd8138928606 : SUCCESS in 39m 31s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c185f57f05234bdca21022181f63ce9b : SUCCESS in 57m 58s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/b6168340e5e9498abe2fae4540e26690 : SUCCESS in 41m 03s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/997be6f4b46749e096a916345db7e61f : SUCCESS in 5m 47s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"c037c70daedabb6cb7bf7607f15dd4a8ac49dc66","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-05-28 21:57:52.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"e4629a278609cc194b0e86d21b3d91c03817ec89","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-28 23:50:36.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/63929444388646738636fbfa5c618abc\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/07eec72bea454a3c9d27cdeddb47e862 : SUCCESS in 18m 08s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f464d2b2f2b24f6dbcc8481c27c19622 : SUCCESS in 4m 59s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/76bd7da433e4418087feccd5350d1c2e : FAILURE in 11m 30s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0dab642d793644ed82299d93d41f9412 : SUCCESS in 11m 43s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/f3b2e38c546e476bbd7b1fc7f60f4432 : SUCCESS in 15m 10s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/523ab078ae9d470f9a2c9769f1bf0e20 : SUCCESS in 14m 16s\n- grenade https://zuul.opendev.org/t/openstack/build/2a763b92c3fa4daf91fc429242ef0362 : SUCCESS in 1h 02m 58s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/25d0f86e230c450bad102e02c79fd20f : SUCCESS in 1h 45m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/0544232eef664a3fa0051d13e2973bfb : SUCCESS in 5m 02s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/bceb5509782e4f1184f40f0e269122fc : SUCCESS in 11m 25s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/58cc2ef8e2fd42268f68bee574af8c79 : SUCCESS in 16m 20s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/b4b321cd66f24058b7e45656b082b446 : FAILURE in 18m 33s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/b7b5cbf1ad5c4cdbbf1c81ef9833581b : FAILURE in 19m 06s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/11cda49268d54cac9c7b368a182fcc4a : SUCCESS in 31m 17s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/041285b05a8949b0aba545e5faaae919 : FAILURE in 32m 39s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/7b32377103c34847b98631a1f0544cf2 : SUCCESS in 40m 13s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c3974458ccf646e3b04078a9ce28a9a5 : SUCCESS in 1h 04m 05s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/7815633cca43451589f85802ec772cb5 : SUCCESS in 29m 15s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/43dfbe2b3b874dd3827bfb89bdd2dc96 : SUCCESS in 9m 52s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"1c97cf19eb6becd1ad5f3d67f23a0b8553a4ce15","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2026-05-29 06:39:13.000000000","message":"Hashtag added: CVE-2026-44394","accounts_in_message":[],"_revision_number":2},{"id":"fdd2d3cd988ff666c1899aa8a2f7a22087ad999f","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-05-29 15:29:30.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"c38308cd4f77df7f5a9445595d40cc2f88bf64d5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-29 17:08:30.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/41367f36df8944569ca800ee5d398ead\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b6cdd1f5642f439a83166d349aa358bd : SUCCESS in 15m 09s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/421debcd4d3b47bc8f52bb61c8ae9322 : SUCCESS in 5m 26s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/846cdbd9d2db41708b159ee551804929 : SUCCESS in 13m 07s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/da42bca249884b17b0c3a80cf13acff3 : SUCCESS in 11m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/e53e761b13fd44e5a93e74cd0895edb6 : SUCCESS in 9m 34s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c373f1bdee3b4fe2a760304bb651f13f : SUCCESS in 13m 21s\n- grenade https://zuul.opendev.org/t/openstack/build/9aabbbea5a6e49f1943b595b8a17ff4e : SUCCESS in 1h 03m 55s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/429df383627146a8846bd7cfdf329028 : SUCCESS in 1h 35m 01s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1cbcfc22929c4dbca7da30f80adecd88 : SUCCESS in 12m 56s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/e882e73456154f2da637c5a3d7fff7ae : SUCCESS in 18m 41s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/a3d84a6e349a42edb5afad700a21b99f : SUCCESS in 29m 50s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/64bd9f301b16494491fd9c8a73e1f028 : FAILURE in 8m 30s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/3822362e09f5496e956723fb8b66319f : FAILURE in 29m 58s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/dff050eb9c2a4c3bad0f3f4efa8cc550 : SUCCESS in 31m 19s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/d3098a09411346848d5c98db2f595dcc : SUCCESS in 31m 35s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/57b1417ee81d4e2b9ea230bdb6889a00 : SUCCESS in 39m 05s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/7e863bcf856440748e2890c9aa7aef53 : SUCCESS in 1h 02m 41s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/1c3cf9fd092e4e7db1ed84ada981200f : SUCCESS in 40m 52s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/980d2c57ac6744d18be88d19dc652243 : MERGE_CONFLICT in 1m 03s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"43f69de27cdcd8464e76a4060d307da72f25a4d4","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-06-01 08:56:30.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"31b178df9554664b20e4472e0cbaca9747154c43","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 08:57:18.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"6b95414324ee5af2f7effe4c7d117411f50ec79e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 13:00:22.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d029b6be8d6342b49747039fdad3cfeb\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/892987660e444f81ab21ce789675d791 : SUCCESS in 5m 01s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/ce34874b8a444428afd92b61691fd893 : SUCCESS in 11m 59s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/f924fd36531242288f05b6f235dd655c : SUCCESS in 11m 39s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5fbef6123de2453781eaea2c01a43d13 : SUCCESS in 13m 52s\n- grenade https://zuul.opendev.org/t/openstack/build/daf111fc107f4db7b517b78bf2469a77 : SUCCESS in 1h 05m 53s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ed4be61e97e44d8fa894b198514ae94d : SUCCESS in 1h 41m 36s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/8d704c9fb4094f05bb6a48c7c3dd525c : SUCCESS in 12m 52s\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/72c255cf3e29428a9811e47fc6edf06c : SUCCESS in 33m 23s\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/fa01e73f43804ac6b88dbf7b3b1d54ed : SUCCESS in 28m 16s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/11ecc6bc4cc34774ad1387cbc14c2433 : SUCCESS in 1h 04m 27s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/669d1bc5f8cf487285f5ff510e148bf5 : SUCCESS in 43m 00s","accounts_in_message":[],"_revision_number":2},{"id":"439b5002786d7b3f4a2ed54e1f62bfe6ce172e19","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 13:00:22.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"278184cb662e72e7e059e9ea29e74728c396e6e1","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-01 13:03:02.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1a5b480f858c4960a52faf5898905ba2\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/57ed6cdbe5bc4977a4bab8ba2ce47a20 : SUCCESS in 1m 20s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"4381601f2f2ac648417b88480f4cd03b1e0e5f62","revisions":{"8dfb0852fff22dab02c45dfc46188c7fab89d9cc":{"kind":"REWORK","_number":1,"created":"2026-05-28 15:05:47.000000000","uploader":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"ref":"refs/changes/93/990493/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/93/990493/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/93/990493/1"}}},"commit":{"parents":[{"commit":"6d682af3c8b46dcba1e42eef41a000a1f7759389","subject":"Forbid trust operations using application credentials (CVE-2026-43000)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/6d682af3c8b46dcba1e42eef41a000a1f7759389"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-05-12 07:11:24.000000000","tz":120},"committer":{"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","date":"2026-05-22 08:13:20.000000000","tz":120},"subject":"Preserve expires_at when rescoping federated tokens (CVE-2026-44394)","message":"Preserve expires_at when rescoping federated tokens (CVE-2026-44394)\n\nWhen a federated token is rescoped via POST /v3/auth/tokens the\nhandle_scoped_token function returned response_data without an expires_at\nvalue. Because issue_token falls back to default_expire_time when\nexpires_at is None, each rescope issued a fresh full-TTL token instead of\ninheriting the remaining lifetime of the original token.\n\nA user with a federated token could extend their session indefinitely by\nrescoping repeatedly before expiry, bypassing operator-configured TTL\npolicies and IdP-level account revocation.\n\nFix: propagate token.expires_at from handle_scoped_token so that\nissue_token uses the original token\u0027s expiry rather than resetting to\nthe default. The non-federated path in token.py already did this via\nresponse_data.setdefault(\u0027expires_at\u0027, token.expires_at).\n\nCloses-Bug: #2150379\nAssisted-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Artem Goncharov \u003cartem.goncharov@gmail.com\u003e\nChange-Id: I0bbb8520e12c52edd01fb47c873f0227819706f5\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n(cherry picked from commit 75a4a0c354c7f568b28dd85182dc729553fb3a33)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/8dfb0852fff22dab02c45dfc46188c7fab89d9cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/8dfb0852fff22dab02c45dfc46188c7fab89d9cc"}]},"branch":"refs/heads/stable/2026.1"},"4381601f2f2ac648417b88480f4cd03b1e0e5f62":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-05-28 21:57:52.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/93/990493/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/93/990493/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/93/990493/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/93/990493/2"}}},"commit":{"parents":[{"commit":"c2126b0a953ee3ab8975fb70b4c5259af26087d0","subject":"Forbid trust operations using application credentials (CVE-2026-43000)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/c2126b0a953ee3ab8975fb70b4c5259af26087d0"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-05-12 07:11:24.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-05-28 21:56:51.000000000","tz":120},"subject":"Preserve expires_at when rescoping federated tokens (CVE-2026-44394)","message":"Preserve expires_at when rescoping federated tokens (CVE-2026-44394)\n\nWhen a federated token is rescoped via POST /v3/auth/tokens the\nhandle_scoped_token function returned response_data without an expires_at\nvalue. Because issue_token falls back to default_expire_time when\nexpires_at is None, each rescope issued a fresh full-TTL token instead of\ninheriting the remaining lifetime of the original token.\n\nA user with a federated token could extend their session indefinitely by\nrescoping repeatedly before expiry, bypassing operator-configured TTL\npolicies and IdP-level account revocation.\n\nFix: propagate token.expires_at from handle_scoped_token so that\nissue_token uses the original token\u0027s expiry rather than resetting to\nthe default. The non-federated path in token.py already did this via\nresponse_data.setdefault(\u0027expires_at\u0027, token.expires_at).\n\nCloses-Bug: #2150379\nAssisted-by: Claude Sonnet 4.6 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Artem Goncharov \u003cartem.goncharov@gmail.com\u003e\nChange-Id: I0bbb8520e12c52edd01fb47c873f0227819706f5\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n(cherry picked from commit 75a4a0c354c7f568b28dd85182dc729553fb3a33)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4381601f2f2ac648417b88480f4cd03b1e0e5f62"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4381601f2f2ac648417b88480f4cd03b1e0e5f62"}]},"branch":"refs/heads/stable/2026.1"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
