)]}'
{"id":"openstack%2Fironic-python-agent~998481","triplet_id":"openstack%2Fironic-python-agent~stable%2F2026.1~I595ba9bdc305ea928ac2f6e26ff24338dbd03450","project":"openstack/ironic-python-agent","branch":"stable/2026.1","topic":"security-bootc-stable-2026.1","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-23 20:01:01.000000000","reason":"Change was submitted"}},"hashtags":["CVE-2026-54422","ironic-week-prio"],"change_id":"I595ba9bdc305ea928ac2f6e26ff24338dbd03450","subject":"Do not expose registry pull secret to bootc container","status":"MERGED","created":"2026-07-23 14:02:21.000000000","updated":"2026-07-24 04:33:48.000000000","submitted":"2026-07-23 20:01:01.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":"998481-security-bootc-stable-2026.1","meta_rev_id":"7edd01a7982ddb3e63e0c66a267109c8662ec8c1","_number":998481,"virtual_id_number":998481,"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-23 20:01:01.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:35:40.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-23 16:59:36.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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"all":[{"value":1,"date":"2026-07-23 18:35:40.000000000","permitted_voting_range":{"min":1,"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":0,"_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:02:21.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 15:19:36.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 16:59:36.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"},{"updated":"2026-07-23 18:35:40.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"}],"messages":[{"id":"476d8f0ed91e484cfb79ea97551af61ec92d92b3","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:02:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"daab7cb61fadefe55e8d29553a792e2609bd6105","tag":"autogenerated:gerrit:setHashtag","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:54:51.000000000","message":"Hashtag added: ironic-week-prio","accounts_in_message":[],"_revision_number":1},{"id":"20b37f3ad5fdea62c5ec5c732636b843d55fdfcc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 15:19:36.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b86713fe14534f789bf9ef773e42bfe7\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/54e056d8821d4f32862394c2ba8a898a : SUCCESS in 5m 14s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/fed4538a8fda47f7ac8476a4bc1c6c33 : SUCCESS in 7m 34s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/4a1a9361ae5e43d3b7e39e3a961c0fbe : SUCCESS in 5m 48s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/57a370c1e2a748f0be213dffaee1e63f : SUCCESS in 3m 47s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/9b08731d116c4b959e3572c693096dcd : SUCCESS in 6m 09s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9f14bb2cee4648a0a835e4f109418c5e : SUCCESS in 6m 45s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/730d89bb3ed24239b5d7ab2e6aec0139 : SUCCESS in 5m 53s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/ee5bf2f321a940008a93e8f265b65850 : SUCCESS in 4m 07s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/4b4273689b294badb80fc81643914b9b : SUCCESS in 3m 32s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/0805745009be4b24810c0f17fba75fa7 : SUCCESS in 1h 04m 29s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/287122dc67754a9da70c7456876780a1 : SUCCESS in 1h 11m 31s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/ab0a8a5fc91142eeb92a5cf0b3da7dc4 : SUCCESS in 58m 00s\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/13717f6133424d61948f6ee8ab354201 : SUCCESS in 9m 12s (non-voting)\n- ironic-python-agent-check-image-dib-debian https://zuul.opendev.org/t/openstack/build/2643790c2f054a188db72add85d3cc9f : SUCCESS in 8m 07s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"352ce2d600f9462500cc38dee668d790f416ad00","author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"date":"2026-07-23 16:59:36.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"14b6fd58f3bc81d89e820cabfa96fd31d9704248","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:35:40.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"5790303fd6aeb4f62e423ddca171e9311f4894a1","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 18:36:15.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"08b76c922750b62649685615fd9ff56bab26ceea","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 20:01:01.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0f772afe641a4433b2eb1cbe5c9c5cb5\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0fec68fca2d4435d8a8cc0ee9dbbcd7b : SUCCESS in 4m 47s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/6d7c15f4b1884902aa20a892b1e82ac7 : SUCCESS in 3m 33s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/0fc1199118a74e3288871461f56a5800 : SUCCESS in 3m 36s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5700debe508a4f3b9c64a7da3ad83f5f : SUCCESS in 7m 26s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/27227712048348b3bbe27cb707639f50 : SUCCESS in 5m 20s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/e673cf77fa844b98afd8dc38e51d3e81 : SUCCESS in 3m 12s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/02ff1af7e33f46b5bb0d4750b3f3a19b : SUCCESS in 2m 11s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/ea10e8df756f472a91ba34bb393e918b : SUCCESS in 1h 16m 02s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/bd4ce6d5c9bb41b0bf387a8c762adf8b : SUCCESS in 1h 14m 42s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/b498b309db7e4e4390407775eff60277 : SUCCESS in 46m 06s","accounts_in_message":[],"_revision_number":1},{"id":"24764e27dc910574778132baa5666e78b319140f","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 20:01:01.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"f73136869a20d89f7bba12035b1957f6bffa203b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-23 20:02:08.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9ee414cd14524b238b464379aa9cfe6f\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a45789b254b141bab0e8b73643dd0d79 : SUCCESS in 57s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/a9bc022a93784922986dff3a19486940 : SUCCESS in 50s","accounts_in_message":[],"_revision_number":1},{"id":"7edd01a7982ddb3e63e0c66a267109c8662ec8c1","tag":"autogenerated:gerrit:setHashtag","author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"date":"2026-07-24 04:33:48.000000000","message":"Hashtag added: CVE-2026-54422","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"229c28329a3ba3fe7557615c23813d043f3cab70","revisions":{"229c28329a3ba3fe7557615c23813d043f3cab70":{"kind":"REWORK","_number":1,"created":"2026-07-23 14:02:21.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/81/998481/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/81/998481/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/81/998481/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/81/998481/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/81/998481/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/81/998481/1"}}},"commit":{"parents":[{"commit":"1dc404837a2b234af690417f9dc534d3fd405ce7","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/1dc404837a2b234af690417f9dc534d3fd405ce7"}]}],"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:25:56.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\nCloses-Bug: #2155826\nAssisted-By: Opencode - Claude Opus 4.6\nSigned-off-by: Steve Baker \u003csbaker@redhat.com\u003e\nChange-Id: I595ba9bdc305ea928ac2f6e26ff24338dbd03450\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/229c28329a3ba3fe7557615c23813d043f3cab70"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/229c28329a3ba3fe7557615c23813d043f3cab70"}]},"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":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."}},{"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":""}}}]}
