)]}'
{"id":"openstack%2Fironic-python-agent~998494","triplet_id":"openstack%2Fironic-python-agent~bugfix%2F11.3~I595ba9bdc305ea928ac2f6e26ff24338dbd03450","project":"openstack/ironic-python-agent","branch":"bugfix/11.3","topic":"security-bootc-bugfix-11.3","attention_set":{},"removed_from_attention_set":{"11655":{"account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"last_update":"2026-07-24 01:35:43.000000000","reason":"Change was submitted"}},"hashtags":["CVE-2026-54422"],"change_id":"I595ba9bdc305ea928ac2f6e26ff24338dbd03450","subject":"Do not expose registry pull secret to bootc container","status":"MERGED","created":"2026-07-23 14:09:39.000000000","updated":"2026-07-24 04:33:50.000000000","submitted":"2026-07-24 01:35:43.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"998494-security-bootc-bugfix-11.3","meta_rev_id":"930a90f410f849d87d123a3f560433cda718f1b7","_number":998494,"virtual_id_number":998494,"owner":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-24 01:35:43.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}],"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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"all":[{"value":2,"date":"2026-07-23 18:37:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-07-24 01:23:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}],"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":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"all":[{"value":0,"date":"2026-07-23 18:37:34.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-07-24 01:23:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"}],"REVIEWER":[{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-23 14:09:39.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"state":"CC"},{"updated":"2026-07-23 14:43:21.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"},{"updated":"2026-07-23 18:37:25.000000000","updated_by":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"reviewer":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"state":"REVIEWER"},{"updated":"2026-07-24 01:23:26.000000000","updated_by":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"reviewer":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"state":"REVIEWER"}],"messages":[{"id":"21edc404e5c38b8f78e66d213d5b8c134e13dc1e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-07-23 14:09:39.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8e5e5165edb6f8cd26d0c26c75164cf999603621","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 14:43:21.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0b65d8a9b0ef4635ac2c744bbcabef69\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5fdbe8733172407489482d4daf4fda59 : SUCCESS in 5m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/08126624e7f34dca9b29c0580c0a93ce : SUCCESS in 4m 43s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/2cf32246a44944bea0f32e0d919d7094 : SUCCESS in 8m 42s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/78a2cacf7c1c4a51becf61cb825449b2 : SUCCESS in 5m 16s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/6a97ec2d74e5413c81b6d6a4fa7ad3bc : SUCCESS in 3m 08s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/177b5a73fdd046529ce20ea4e1e52615 : SUCCESS in 5m 09s","accounts_in_message":[],"_revision_number":1},{"id":"efcb2cbe57bccd2214c0d6fe5ae908d9b419d2ac","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-07-23 18:37:25.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"bc5fbe42a524b2570acf3dd5bd429a4f0dd3d591","author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"date":"2026-07-23 18:37:34.000000000","message":"Patch Set 1: -Workflow","accounts_in_message":[],"_revision_number":1},{"id":"c13a372631343779e6ce3d3ecffbc66bb0efd795","author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"date":"2026-07-24 01:23:26.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"cf8ff5351bb833468fea7b5daeb33fba89bef56a","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 01:23:35.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"4d7415d093f5066def8512e6b54cfd83be5bcb13","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 01:35:43.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/984e8f8f3ea04e5aa8c4ef448b31154f\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/3d1cec10f8364b3d8ecb7717face00c0 : SUCCESS in 6m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7ccf8f3e2e20427e9b23c36d604d0e4c : SUCCESS in 7m 06s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/18a54ebe5fa4418e9520082b0762f94b : SUCCESS in 3m 02s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/e440b65b16fc43579ff91ad5bb44ec81 : SUCCESS in 4m 44s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/9e831558816d4e10b552ceca867b6150 : SUCCESS in 2m 18s","accounts_in_message":[],"_revision_number":1},{"id":"9367f283011bc6798b153e5df81a37ec2091db04","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 01:35:43.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"e7ded3896d4adebb656fe09e7775e77a95ec5e4e","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-24 01:36:35.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/55fa8a48334344f3806ef454821614fa\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d8edc1d042434a638c0efd8604e07e43 : SUCCESS in 40s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/b2c55cc931d348468069dc76614529ea : SUCCESS in 40s","accounts_in_message":[],"_revision_number":1},{"id":"930a90f410f849d87d123a3f560433cda718f1b7","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2026-07-24 04:33:50.000000000","message":"Hashtag added: CVE-2026-54422","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"361c0c8f4b213534b04d1535c325d7753acfbb67","revisions":{"361c0c8f4b213534b04d1535c325d7753acfbb67":{"kind":"REWORK","_number":1,"created":"2026-07-23 14:09:39.000000000","uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/94/998494/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/94/998494/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/94/998494/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/94/998494/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/94/998494/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/94/998494/1"}}},"commit":{"parents":[{"commit":"ff553d6f3ec3a12cb2e67e782b96e75015bd3d3f","subject":"Add a flag to disable installing bootloaders","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/ff553d6f3ec3a12cb2e67e782b96e75015bd3d3f"}]}],"author":{"name":"Steve Baker","email":"sbaker@redhat.com","date":"2026-06-11 22:39:18.000000000","tz":0},"committer":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-07-07 14:36:57.000000000","tz":-420},"subject":"Do not expose registry pull secret to bootc container","message":"Do not expose registry pull secret to bootc container\n\nDuring bootc deployment, the registry pull secret (authfile) was\nwritten to a well-known path on the host and passed to\n\u0027podman run --privileged --pid\u003dhost --authfile\u003d...\u0027. Because the\ncontainer runs with host PID namespace visibility, tenant-controlled\ncode in the bootc image could read the credential via\n/proc/1/root/\u003cauthfile-path\u003e.\n\nWhen the pull secret originates from an operator/admin source\n(driver_info.image_pull_secret, [deploy] image_server_user/password,\nor [oci] authentication_config) rather than the tenant\u0027s own\ninstance_info.image_pull_secret, this constitutes a cross-boundary\ncredential disclosure: a project-scoped node owner member recovers\nthe operator\u0027s registry credential, which may be shared across\nnodes, projects, or the entire conductor.\n\nFix by splitting the authenticated image pull from the container\nexecution:\n\n1. Write the auth file to a random temporary path (not the\n   well-known ~/.config/containers/auth.json).\n2. Run \u0027podman pull --authfile\u003d\u003ctmpfile\u003e\u0027 to fetch and cache the\n   image in the local store.\n3. Delete the auth file in a finally block, guaranteeing cleanup\n   even on pull failure.\n4. Run \u0027podman run\u0027 without --authfile. The image is already\n   cached locally and --skip-fetch-check is already in use, so\n   no registry credential is needed at runtime.\n\nBy the time tenant container code executes, the credential file\nno longer exists on the host filesystem and cannot be read via\n/proc/1/root.\n\nIn regards to merge conflicts, there was a conflict on this\ncherry-pick to tests/unit/extensions/test_standby.py where\ngit attempted to pull in a neighboring test for selinux support\nwhich didn\u0027t exist yet in this backport branch.\n\nCloses-Bug: #2155826\nAssisted-By: Opencode - Claude Opus 4.6\nSigned-off-by: Steve Baker \u003csbaker@redhat.com\u003e\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\nChange-Id: I595ba9bdc305ea928ac2f6e26ff24338dbd03450\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/361c0c8f4b213534b04d1535c325d7753acfbb67"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/361c0c8f4b213534b04d1535c325d7753acfbb67"}]},"branch":"refs/heads/bugfix/11.3"}},"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":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"}},{"label":"Backport-Candidate","status":"MAY"}]}],"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":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"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":""}}}]}
