)]}'
{"id":"openstack%2Fironic~991384","triplet_id":"openstack%2Fironic~unmaintained%2F2024.1~I09ba308dc5088260594a502d43413d2069616703","project":"openstack/ironic","branch":"unmaintained/2024.1","attention_set":{},"removed_from_attention_set":{"10342":{"account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"last_update":"2026-06-12 21:28:30.000000000","reason":"\u003cGERRIT_ACCOUNT_10342\u003e replied on the change","reason_account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},"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-06-12 23:09:23.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I09ba308dc5088260594a502d43413d2069616703","subject":"security: directory transversal ISO9660 support","status":"MERGED","created":"2026-06-03 14:28:37.000000000","updated":"2026-06-12 23:11:01.000000000","submitted":"2026-06-12 23:09:23.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"991384","meta_rev_id":"3fbd2b94d26c83c75481df33bab1501921b6dd35","_number":991384,"virtual_id_number":991384,"owner":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-06-12 23:09:23.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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"all":[{"value":2,"date":"2026-06-12 21:50:53.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":2,"date":"2026-06-12 21:28:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"all":[{"value":1,"date":"2026-06-12 21:50:53.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"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},"Backport-Candidate":{"all":[{"value":0,"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}],"reviewers":{"REVIEWER":[{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_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-06-03 14:28:37.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2026-06-03 17:39:06.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-06-05 02:58: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":"CC"},{"updated":"2026-06-12 21:50:53.000000000","updated_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"reviewer":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"state":"REVIEWER"}],"messages":[{"id":"fc845093116063b489d18e5cac9e545b30b0a3c3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-06-03 14:28:37.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"10f1b3134fc600c3e1a56174bb8ad87847be932b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-03 17:39:06.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/bdaf1f96a9a04438ad7a99bbbb152006\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/37cd8fa96c374b67ac8c74ad13c5409b : SUCCESS in 14m 33s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/87f05e2d29cf439d9fa2cfaa03ec3adb : SUCCESS in 10m 27s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1eea697b2a4b4e35b808bfd7368f5416 : FAILURE in 6m 01s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/427cefb98a904da9a4e57ec310abfed0 : SUCCESS in 9m 05s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/402cc2de21c84e0ab4b571323f79c4aa : SUCCESS in 13m 48s\n- ironic-tox-bandit https://zuul.opendev.org/t/openstack/build/13c807220c34449fbb3b28191a573165 : FAILURE in 5m 59s\n- ironic-tox-unit-mysql-migrations https://zuul.opendev.org/t/openstack/build/bec12a2913bf4137a90b54ac3733550c : SUCCESS in 6m 31s\n- ironic-tox-unit-with-driver-libs https://zuul.opendev.org/t/openstack/build/76df8edc0c934e069ecd515e65f63856 : SUCCESS in 13m 01s\n- ironic-cross-sushy https://zuul.opendev.org/t/openstack/build/f345ec8d25564529b76013f531ed2ab8 : SUCCESS in 10m 54s (non-voting)\n- ironic-tempest-functional-python3 https://zuul.opendev.org/t/openstack/build/8c0662463e3e4326867d4042d1f3c0c8 : SUCCESS in 26m 42s\n- ironic-tempest-functional-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/97e796df537c4f109c98cb961d9350e7 : SUCCESS in 34m 22s\n- ironic-standalone-redfish https://zuul.opendev.org/t/openstack/build/5857878156c8421ab42b7e4d26828148 : FAILURE in 1h 53m 02s (non-voting)\n- ironic-tempest-bios-redfish-pxe https://zuul.opendev.org/t/openstack/build/e5037e11dbaa4a848ade7dfbf6d70e43 : SUCCESS in 45m 06s\n- ironic-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/c6a024a91f904ddbac48e79d266d63bb : FAILURE in 1h 09m 40s\n- ironic-tempest-ramdisk-bios-snmp-pxe https://zuul.opendev.org/t/openstack/build/a93aba3692cc4769b6703b0cb119945b : FAILURE in 1h 00m 04s\n- ironic-tempest-ovn-uefi-ipmi-pxe https://zuul.opendev.org/t/openstack/build/cd044bd104594da3a8777b5fdcf467af : SUCCESS in 50m 31s\n- ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard https://zuul.opendev.org/t/openstack/build/ecc690fb8ad54137aaeeae5561a7d821 : SUCCESS in 1h 16m 18s (non-voting)\n- ironic-tempest-bios-ipmi-direct-tinyipa https://zuul.opendev.org/t/openstack/build/89d81602c4894c429765717359da110b : SUCCESS in 1h 00m 01s\n- ironic-tempest-bfv https://zuul.opendev.org/t/openstack/build/e11ae15c1c2743f29162d8ce7187a485 : SUCCESS in 26m 07s\n- ironic-tempest-ipa-partition-uefi-pxe-grub2 https://zuul.opendev.org/t/openstack/build/22361b833e444490a9939f8d84341c80 : SUCCESS in 33m 52s\n- metalsmith-integration-glance-centos9-legacy https://zuul.opendev.org/t/openstack/build/6a3167c75ed6408abc8267769d6b4217 : SUCCESS in 1h 25m 17s (non-voting)\n- ironic-inspector-tempest https://zuul.opendev.org/t/openstack/build/d056a78b986a4ccfa16754691eea9bdd : SUCCESS in 47m 21s (non-voting)\n- ironic-inspector-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/84c34633f77b4a62ad5695537551cf59 : FAILURE in 44m 27s (non-voting)\n- ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib https://zuul.opendev.org/t/openstack/build/7b61080f6fd54010bc131e5f74404b4d : SUCCESS in 42m 27s (non-voting)\n- ironic-tempest-ipxe-ipv6 https://zuul.opendev.org/t/openstack/build/66b242280194455db99a26ca816edb0a : FAILURE in 1h 11m 57s (non-voting)\n- ironic-standalone-anaconda https://zuul.opendev.org/t/openstack/build/383542ad2d6f451c82a21d70f0584337 : FAILURE in 1h 03m 01s (non-voting)\n- ironic-inspector-tempest-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/ee2ceecae8864d9cbfab3820ea42f5e2 : SUCCESS in 59m 34s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/f2ceae95673543a69465ab7d33017223 : SUCCESS in 45m 59s (non-voting)\n- ironic-tempest-pxe_ipmitool-postgres https://zuul.opendev.org/t/openstack/build/8b7e70626aaa4a8f8dc0be3797561c0b : SUCCESS in 47m 06s (non-voting)\n- bifrost-benchmark-ironic https://zuul.opendev.org/t/openstack/build/c70a62542ec34a508e432227135e3ec9 : FAILURE in 7m 42s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"701be3393ef272dc09ac0d475888fc3701358f3a","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-06-03 18:57:45.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"09e15ae8fbdd4806903ec3d6378dccab5ec42fb3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-06-03 20:13:03.000000000","message":"Patch Set 2: Patch Set 1 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":2},{"id":"d4194fe74ca719b26a36ec3446b7ca4f4c9edc38","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-06-03 21:17:38.000000000","message":"Patch Set 3: Patch Set 2 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":3},{"id":"9a45315210af6a6a5ca52086c92f6187557f95b0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-03 23:43:45.000000000","message":"Patch Set 3: 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/7db99f31057b40838bbf5fed883e62a7\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/69ede22400a14d9cbcc722eef37e775b : SUCCESS in 12m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a238a2a7d5334d8fbeec5b3d70f881b2 : FAILURE in 4m 59s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/626f50e4662f4ff783d5a3e41416743d : FAILURE in 4m 50s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/3b7dd35d34f24925a53cd7033ffdda5c : SUCCESS in 9m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/8edc73223d93473992f6b5ad3742639b : SUCCESS in 15m 46s\n- ironic-tox-bandit https://zuul.opendev.org/t/openstack/build/3278a7eaeb7c44c7ad7b88ce7021db03 : SUCCESS in 8m 53s\n- ironic-tox-unit-mysql-migrations https://zuul.opendev.org/t/openstack/build/1bf01b9d3d534a84ae204108b26a4355 : SUCCESS in 6m 58s\n- ironic-tox-unit-with-driver-libs https://zuul.opendev.org/t/openstack/build/6d617b38e7bd4dbb957b3806c14e4f56 : SUCCESS in 9m 22s\n- ironic-cross-sushy https://zuul.opendev.org/t/openstack/build/18cbbd0505354208979482cde336e821 : SUCCESS in 6m 51s (non-voting)\n- ironic-tempest-functional-python3 https://zuul.opendev.org/t/openstack/build/2076d615912c4c47a5dd51e2053c483c : SUCCESS in 35m 12s\n- ironic-tempest-functional-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/85983642de0b478abdbbe95ee6b383a7 : SUCCESS in 14m 15s\n- ironic-standalone-redfish https://zuul.opendev.org/t/openstack/build/9611b08f35744eb881d9610932937950 : FAILURE in 2h 19m 31s (non-voting)\n- ironic-tempest-bios-redfish-pxe https://zuul.opendev.org/t/openstack/build/338f706307944f9b87b0b1a2f542cbbd : FAILURE in 1h 03m 04s\n- ironic-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/34452e6346d846b5a3dafbf07ea26c20 : SUCCESS in 48m 22s\n- ironic-tempest-ramdisk-bios-snmp-pxe https://zuul.opendev.org/t/openstack/build/89600216bbf14611b49bea52a1bcbc91 : SUCCESS in 25m 22s\n- ironic-tempest-ovn-uefi-ipmi-pxe https://zuul.opendev.org/t/openstack/build/f80f981d0ce641a79db7cd3476d68196 : SUCCESS in 46m 07s\n- ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard https://zuul.opendev.org/t/openstack/build/d7879f828b9d44298b5b27504690f529 : SUCCESS in 28m 07s (non-voting)\n- ironic-tempest-bios-ipmi-direct-tinyipa https://zuul.opendev.org/t/openstack/build/8a68a61987cc43d6939db1c75e99303d : SUCCESS in 36m 25s\n- ironic-tempest-bfv https://zuul.opendev.org/t/openstack/build/fcee3624e2e249d3ba6837cd5855cee9 : SUCCESS in 34m 25s\n- ironic-tempest-ipa-partition-uefi-pxe-grub2 https://zuul.opendev.org/t/openstack/build/381f65bc1f354d4b8ade2381241118c6 : SUCCESS in 25m 28s\n- metalsmith-integration-glance-centos9-legacy https://zuul.opendev.org/t/openstack/build/2abfec7aac4b4d4abddafa03715b3989 : SUCCESS in 1h 22m 23s (non-voting)\n- ironic-inspector-tempest https://zuul.opendev.org/t/openstack/build/6e25dd6e7b564368a0124e58fe2e726b : SUCCESS in 45m 42s (non-voting)\n- ironic-inspector-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/0a54e58005f74373ab01b8ab2b51b191 : SUCCESS in 19m 49s (non-voting)\n- ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib https://zuul.opendev.org/t/openstack/build/202477a9487d410bbf96cb6080188cd5 : SUCCESS in 49m 57s (non-voting)\n- ironic-tempest-ipxe-ipv6 https://zuul.opendev.org/t/openstack/build/27301c21999b496f91d52e308e66c5cc : SUCCESS in 58m 31s (non-voting)\n- ironic-standalone-anaconda https://zuul.opendev.org/t/openstack/build/2722072c0131442fb89b670531e096f4 : FAILURE in 57m 21s (non-voting)\n- ironic-inspector-tempest-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/1eb4d0371a16422aab5358e98829b614 : SUCCESS in 48m 24s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/135eeb3e1aeb4bd58f0098babc0aea8d : SUCCESS in 21m 39s (non-voting)\n- ironic-tempest-pxe_ipmitool-postgres https://zuul.opendev.org/t/openstack/build/5fef5093e6a4475483bc22069b3cbb0c : SUCCESS in 19m 45s (non-voting)\n- bifrost-benchmark-ironic https://zuul.opendev.org/t/openstack/build/808e2890f6af4146b1626a4ecb3e5335 : FAILURE in 5m 59s (non-voting)\n\nWarning:\n  Comments left for invalid file ironic/common/kernel_parameter_parser/kernel_parameter_parser.py\n  Comments left for invalid file ironic/tests/unit/common/test_kernel_parameters.py","accounts_in_message":[],"_revision_number":3},{"id":"ebba20066643d1af73696d3194feca3ff5a775cc","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-06-04 13:54:57.000000000","message":"Patch Set 4: Patch Set 3 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":4},{"id":"92b600bbc4a537ddc90cab028551329ec47f9101","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2026-06-04 15:17:32.000000000","message":"Patch Set 5: Patch Set 4 was rebased on behalf of \u003cGERRIT_ACCOUNT_10342\u003e","accounts_in_message":[{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}],"_revision_number":5},{"id":"c6b1c4c84b0c575e29925bb938a4d64dc81bd510","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-04 17:26:26.000000000","message":"Patch Set 5: 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/ce62b422b5d249d881ab4dc2a7ee6bc9\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b4a1e8b9078a444b9d514ad14a602cb2 : SUCCESS in 8m 00s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/360e28a6cd2e41419af93fe166232fac : SUCCESS in 5m 44s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/097d1428d9d646e3a73e40f60c31ba4a : SUCCESS in 10m 07s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/78167fab6af6430aaa16a41cd8dc3433 : SUCCESS in 12m 56s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/507ccf570e044da7b2e6153292be9816 : SUCCESS in 15m 24s\n- ironic-tox-bandit https://zuul.opendev.org/t/openstack/build/667a5be9adde4cfa818976845340dd8e : SUCCESS in 3m 55s\n- ironic-tox-unit-mysql-migrations https://zuul.opendev.org/t/openstack/build/4bd81b1cb37a4d70a475e88be749ede5 : SUCCESS in 5m 50s\n- ironic-tox-unit-with-driver-libs https://zuul.opendev.org/t/openstack/build/459633ee3ac9415183dc2ecdc21a7fd9 : SUCCESS in 10m 24s\n- ironic-cross-sushy https://zuul.opendev.org/t/openstack/build/c193ede832e8408eb77155a741404285 : SUCCESS in 10m 23s (non-voting)\n- ironic-tempest-functional-python3 https://zuul.opendev.org/t/openstack/build/41b8fd8548a442268413f26275db6140 : SUCCESS in 34m 10s\n- ironic-tempest-functional-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/ad03f2c2eb4c45e6a12a3b112f99302a : SUCCESS in 15m 39s\n- ironic-standalone-redfish https://zuul.opendev.org/t/openstack/build/8a41f865e5e14aefa05f56ef073afa92 : FAILURE in 1h 59m 57s (non-voting)\n- ironic-tempest-bios-redfish-pxe https://zuul.opendev.org/t/openstack/build/2303d970a5e2456da3f6bbefcac9adf8 : SUCCESS in 45m 06s\n- ironic-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/78bba8ac415a4139b3a3926b4fefa3f9 : FAILURE in 1h 01m 52s\n- ironic-tempest-ramdisk-bios-snmp-pxe https://zuul.opendev.org/t/openstack/build/9aa7e45cff1641e99d47a4972e67e11b : SUCCESS in 37m 22s\n- ironic-tempest-ovn-uefi-ipmi-pxe https://zuul.opendev.org/t/openstack/build/fd0e2c8156fd479c8dc0e28ed185b79e : FAILURE in 1h 06m 05s\n- ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard https://zuul.opendev.org/t/openstack/build/ba75a64da9b74649ba868d532c5d02db : SUCCESS in 1h 04m 54s (non-voting)\n- ironic-tempest-bios-ipmi-direct-tinyipa https://zuul.opendev.org/t/openstack/build/be43966d12f8440fa925593f6dfdca2e : SUCCESS in 56m 20s\n- ironic-tempest-bfv https://zuul.opendev.org/t/openstack/build/d8be14f9e5e24a09b570548ee8715cf3 : SUCCESS in 41m 36s\n- ironic-tempest-ipa-partition-uefi-pxe-grub2 https://zuul.opendev.org/t/openstack/build/2ea456e3f8c34b4f8b4d37604fe74a9f : SUCCESS in 43m 56s\n- metalsmith-integration-glance-centos9-legacy https://zuul.opendev.org/t/openstack/build/aae75ffebd964d13b6358ad28586428c : SUCCESS in 1h 31m 30s (non-voting)\n- ironic-inspector-tempest https://zuul.opendev.org/t/openstack/build/c77056ca7f674feb802c8203e1382258 : SUCCESS in 53m 44s (non-voting)\n- ironic-inspector-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/f078c0c9381844c2b958985affaec073 : FAILURE in 41m 00s (non-voting)\n- ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib https://zuul.opendev.org/t/openstack/build/d6af2fdbae2243fea67c473395e45f80 : SUCCESS in 45m 38s (non-voting)\n- ironic-tempest-ipxe-ipv6 https://zuul.opendev.org/t/openstack/build/58f80095394c4e40b560285642c1829b : SUCCESS in 57m 16s (non-voting)\n- ironic-standalone-anaconda https://zuul.opendev.org/t/openstack/build/0eb721c3f01242b1a40e6ec864f65e47 : FAILURE in 1h 02m 32s (non-voting)\n- ironic-inspector-tempest-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/5aa94d110c5e48769d3c8e92f59b9292 : SUCCESS in 35m 47s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/fc5deeb4bcf74917ac7717dd37a526d6 : SUCCESS in 19m 54s (non-voting)\n- ironic-tempest-pxe_ipmitool-postgres https://zuul.opendev.org/t/openstack/build/ca7429bf7888409abaf470389afae7b8 : SUCCESS in 44m 05s (non-voting)\n- bifrost-benchmark-ironic https://zuul.opendev.org/t/openstack/build/dfbc9736ba7449d6a276672936bd8fa5 : FAILURE in 7m 08s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"20534f9ab83c411f067315c08a756d4bf98304cb","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-06-05 02:58:25.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"8fe517ce23cabb1a923d4ce61e523560fb6459a7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-05 05:28:01.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/07d537d2c1c84d2cb4d4b5f1e200d944\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/005adc96dde142e6b17b88ec47372382 : SUCCESS in 13m 17s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5fe8b5c305884fc592adab87d4419497 : SUCCESS in 5m 34s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6f0c547e2e354fa78c55d25d5b78ce08 : SUCCESS in 9m 15s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/862404baf06643d3badd9607ee57bd8e : SUCCESS in 9m 14s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5a5a99abd38b42349470ceb6c40199fb : SUCCESS in 15m 33s\n- ironic-tox-bandit https://zuul.opendev.org/t/openstack/build/d36567b061db42da951e682fc5eb24d7 : SUCCESS in 5m 41s\n- ironic-tox-unit-mysql-migrations https://zuul.opendev.org/t/openstack/build/ba3a58ad39a1468bbaf49a0ac03d2bf0 : SUCCESS in 5m 09s\n- ironic-tox-unit-with-driver-libs https://zuul.opendev.org/t/openstack/build/9f6e13dbb31843578dfe42dcaf19d553 : SUCCESS in 8m 41s\n- ironic-cross-sushy https://zuul.opendev.org/t/openstack/build/c3c23bf2aa614b799d4fed4217a7cf6f : SUCCESS in 11m 38s (non-voting)\n- ironic-tempest-functional-python3 https://zuul.opendev.org/t/openstack/build/8748b8088a5a42daac72302291c54931 : SUCCESS in 31m 02s\n- ironic-tempest-functional-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/0ec22295a0a345e1afea95faf9c2e923 : SUCCESS in 33m 45s\n- ironic-standalone-redfish https://zuul.opendev.org/t/openstack/build/bdcbab092eb2489cb63f31965c47b94b : FAILURE in 2h 25m 14s (non-voting)\n- ironic-tempest-bios-redfish-pxe https://zuul.opendev.org/t/openstack/build/84f3055412c542e096f5e45dd58d0605 : SUCCESS in 42m 36s\n- ironic-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/e34638943fb446dcbd90435331046ce7 : SUCCESS in 43m 38s\n- ironic-tempest-ramdisk-bios-snmp-pxe https://zuul.opendev.org/t/openstack/build/9d839dc549bd44bf8a1055da49a70dd1 : SUCCESS in 33m 58s\n- ironic-tempest-ovn-uefi-ipmi-pxe https://zuul.opendev.org/t/openstack/build/a0421666941341d2a7551e986b6caded : SUCCESS in 45m 41s\n- ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-shard https://zuul.opendev.org/t/openstack/build/e82434b9cf594de9a44812b546af0de1 : SUCCESS in 1h 02m 04s (non-voting)\n- ironic-tempest-bios-ipmi-direct-tinyipa https://zuul.opendev.org/t/openstack/build/d29b14adbfcb47729093046b41cfc7f2 : SUCCESS in 52m 19s\n- ironic-tempest-bfv https://zuul.opendev.org/t/openstack/build/cbdcd93f23da4584893cc80c97b034c1 : SUCCESS in 31m 45s\n- ironic-tempest-ipa-partition-uefi-pxe-grub2 https://zuul.opendev.org/t/openstack/build/3b82597d32a147adba87a956f8b1114e : SUCCESS in 44m 29s\n- metalsmith-integration-glance-centos9-legacy https://zuul.opendev.org/t/openstack/build/2819c7cf8569479d8c323e161d094ea1 : SUCCESS in 1h 38m 17s (non-voting)\n- ironic-inspector-tempest https://zuul.opendev.org/t/openstack/build/f18d77211edd4c18bb0aec49d322f022 : SUCCESS in 48m 33s (non-voting)\n- ironic-inspector-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/843782c1cbb44c5287721bd1aeabd6c7 : FAILURE in 37m 57s (non-voting)\n- ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib https://zuul.opendev.org/t/openstack/build/8d2639f885784198a6cb93903bbd5360 : FAILURE in 57m 39s (non-voting)\n- ironic-tempest-ipxe-ipv6 https://zuul.opendev.org/t/openstack/build/951a4b8fe8454d67ae86b31085544834 : SUCCESS in 58m 05s (non-voting)\n- ironic-standalone-anaconda https://zuul.opendev.org/t/openstack/build/4555eb30dd8148c296ea0f7805640a10 : FAILURE in 1h 02m 46s (non-voting)\n- ironic-inspector-tempest-rbac-scope-enforced https://zuul.opendev.org/t/openstack/build/831dae3f3ab74670b9d5540f965f11fe : SUCCESS in 53m 07s (non-voting)\n- bifrost-integration-tinyipa-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/7783b3ea8ed742e7a613a8955a690282 : SUCCESS in 30m 30s (non-voting)\n- ironic-tempest-pxe_ipmitool-postgres https://zuul.opendev.org/t/openstack/build/8314312f615c47769c5c2e0677740593 : FAILURE in 1h 27m 58s (non-voting)\n- bifrost-benchmark-ironic https://zuul.opendev.org/t/openstack/build/ee4a4f3e1eee4f9197f898323716b929 : FAILURE in 6m 30s (non-voting)","accounts_in_message":[],"_revision_number":5},{"id":"a16f6062e0629bffa802eabeafbfe63eefe929b8","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2026-06-12 21:28:30.000000000","message":"Patch Set 5: Code-Review+2","accounts_in_message":[],"_revision_number":5},{"id":"fccc2758002cf35f0466053513f6a29be812f46b","author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"date":"2026-06-12 21:50:53.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"3d18cc15b612e3c2d3926cb5df66e6a3700d575c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-12 21:51:37.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"25e41e74ad19c84acd2cd3e66443671d9dff66bb","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-12 23:09:23.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1903d3fe2b61459b8036149f564688a7\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/13980a75a4f3407e947cd3d6821d5cf8 : SUCCESS in 5m 52s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/f5c95b8e339a4ef99fbfb0bdf326492c : SUCCESS in 10m 33s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/c17cece70d2847c58fd33d69f5eb7c8c : SUCCESS in 5m 25s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ae42ed57253b455d96d6c484a6b926d8 : SUCCESS in 14m 03s\n- ironic-tox-bandit https://zuul.opendev.org/t/openstack/build/da8f40511685427baa83dadf60f5b8b6 : SUCCESS in 5m 15s\n- ironic-tox-unit-mysql-migrations https://zuul.opendev.org/t/openstack/build/241c4e3af03b4364b0e2e70125ef2a8e : SUCCESS in 5m 33s\n- ironic-tox-unit-with-driver-libs https://zuul.opendev.org/t/openstack/build/32b203909c104bfba81c4187b1d6959c : SUCCESS in 11m 29s\n- ironic-tempest-functional-python3 https://zuul.opendev.org/t/openstack/build/c0f01ce66ba6492ea25a5eadaae1626c : SUCCESS in 32m 16s\n- ironic-tempest-bios-redfish-pxe https://zuul.opendev.org/t/openstack/build/0fc743fd2c8543188bbd46184795eec8 : SUCCESS in 50m 07s\n- ironic-tempest-uefi-redfish-vmedia https://zuul.opendev.org/t/openstack/build/f0df7f68d15f4129b15ecb9d1d9d79b0 : SUCCESS in 44m 12s\n- ironic-tempest-ramdisk-bios-snmp-pxe https://zuul.opendev.org/t/openstack/build/995bdb585e4f4c89b2bad6be773e405b : SUCCESS in 39m 36s\n- ironic-tempest-ovn-uefi-ipmi-pxe https://zuul.opendev.org/t/openstack/build/b2356f608c114ff794fff5ae4fe8f2e3 : SUCCESS in 49m 04s\n- ironic-tempest-bios-ipmi-direct-tinyipa https://zuul.opendev.org/t/openstack/build/2f181531db1b497488712d7a0f938e39 : SUCCESS in 59m 19s\n- ironic-tempest-bfv https://zuul.opendev.org/t/openstack/build/3009f60600b44daa8e34993aebb5eb4a : SUCCESS in 42m 03s\n- ironic-tempest-ipa-partition-uefi-pxe-grub2 https://zuul.opendev.org/t/openstack/build/34f3944ef1f04f3e875f66fb019981c3 : SUCCESS in 41m 11s","accounts_in_message":[],"_revision_number":5},{"id":"ca723632c8116da6615b71b302c96ce869106741","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-12 23:09:23.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"3fbd2b94d26c83c75481df33bab1501921b6dd35","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-12 23:11:01.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e1539e25cbab4f2f8198345f063e1030\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/17c087a98f0e4a9ea443f71f9efb5b73 : SUCCESS in 53s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"bbf236744aa17fe5a0546f6d7df01a67fb51e6be","revisions":{"eef3008e98d3df68eab1fbf9617bd2932090a358":{"kind":"REWORK","_number":1,"created":"2026-06-03 14:28:37.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"ref":"refs/changes/84/991384/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic","ref":"refs/changes/84/991384/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic refs/changes/84/991384/1"}}},"commit":{"parents":[{"commit":"b730750cbb276553a0d63ca6935908484d7e47f2","subject":"Ensure kernel_append_params are valid kernel parameters","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/b730750cbb276553a0d63ca6935908484d7e47f2"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-05-20 22:31:38.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-06-02 19:34:10.000000000","tz":-420},"subject":"security: directory transversal ISO9660 support","message":"security: directory transversal ISO9660 support\n\nA vulnerability was identified in Ironic\u0027s handling of\nISO images where Ironic contains support to patch ISO9660\nvirtual media contents to include key data items like\nconfiguration drive data and other required metadata.\n\nAnyhow, the issue here was the Ironic service was trusting\nthat the submitted contents were valid, and a directory\ntransversal attempt could be embedded within a modified\nconfiguration drive ISO contents submitted to Ironic.\nThis is a case where an attacker would take a path in an ISO,\nand attempt to directly modify it to reach another path on the\nfilesystem which was within the confines and path structure they\nwere working with. i.e. while \"../foo\" is not a valid file or\ndirectory name in ISO9660, it can still be represented, injected,\nand read by the pycdlib library.\n\nThe code on all paths which perform this type of ISO content\ninteraction have been patched to explicitly check the path for\ntransversal attempts and internally raises an InvalidContent\nexception.\n\nImpacted features:\n* Virtual Media ISO patching code path for pre-generated\n  deployment ISOs as opposed to Ironic generated ISOs from\n  a kernel/ramdisk.\n* Anaconda deployment interfacce where a user could\n  impact the resulting pathing on the node being deployed\n  at deploy time.\n\nRelated-Bug: 2148333\nChange-Id: I09ba308dc5088260594a502d43413d2069616703\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/eef3008e98d3df68eab1fbf9617bd2932090a358"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/eef3008e98d3df68eab1fbf9617bd2932090a358"}]},"branch":"refs/heads/unmaintained/2024.1"},"602a188b6355608e3c8e1164911dd930b1bef949":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-06-03 20:13:03.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/84/991384/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic","ref":"refs/changes/84/991384/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic refs/changes/84/991384/2"}}},"commit":{"parents":[{"commit":"d3df230b68fb3955ecab35741b6b35658ba01964","subject":"Ensure kernel_append_params are valid kernel parameters","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/d3df230b68fb3955ecab35741b6b35658ba01964"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-05-20 22:31:38.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-06-03 20:13:03.000000000","tz":0},"subject":"security: directory transversal ISO9660 support","message":"security: directory transversal ISO9660 support\n\nA vulnerability was identified in Ironic\u0027s handling of\nISO images where Ironic contains support to patch ISO9660\nvirtual media contents to include key data items like\nconfiguration drive data and other required metadata.\n\nAnyhow, the issue here was the Ironic service was trusting\nthat the submitted contents were valid, and a directory\ntransversal attempt could be embedded within a modified\nconfiguration drive ISO contents submitted to Ironic.\nThis is a case where an attacker would take a path in an ISO,\nand attempt to directly modify it to reach another path on the\nfilesystem which was within the confines and path structure they\nwere working with. i.e. while \"../foo\" is not a valid file or\ndirectory name in ISO9660, it can still be represented, injected,\nand read by the pycdlib library.\n\nThe code on all paths which perform this type of ISO content\ninteraction have been patched to explicitly check the path for\ntransversal attempts and internally raises an InvalidContent\nexception.\n\nImpacted features:\n* Virtual Media ISO patching code path for pre-generated\n  deployment ISOs as opposed to Ironic generated ISOs from\n  a kernel/ramdisk.\n* Anaconda deployment interfacce where a user could\n  impact the resulting pathing on the node being deployed\n  at deploy time.\n\nRelated-Bug: 2148333\nChange-Id: I09ba308dc5088260594a502d43413d2069616703\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/602a188b6355608e3c8e1164911dd930b1bef949"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/602a188b6355608e3c8e1164911dd930b1bef949"}]},"branch":"refs/heads/unmaintained/2024.1","description":"Rebase","conflicts":{"ours":"eef3008e98d3df68eab1fbf9617bd2932090a358","theirs":"d3df230b68fb3955ecab35741b6b35658ba01964","contains_conflicts":false}},"27acfec900f86403b13f435c28572ae927b99227":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2026-06-03 21:17:38.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/84/991384/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic","ref":"refs/changes/84/991384/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic refs/changes/84/991384/3"}}},"commit":{"parents":[{"commit":"7eb062e503034999f3e40e5f5c0f61b627c5c7b6","subject":"Ensure kernel_append_params are valid kernel parameters","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/7eb062e503034999f3e40e5f5c0f61b627c5c7b6"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-05-20 22:31:38.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-06-03 21:17:38.000000000","tz":0},"subject":"security: directory transversal ISO9660 support","message":"security: directory transversal ISO9660 support\n\nA vulnerability was identified in Ironic\u0027s handling of\nISO images where Ironic contains support to patch ISO9660\nvirtual media contents to include key data items like\nconfiguration drive data and other required metadata.\n\nAnyhow, the issue here was the Ironic service was trusting\nthat the submitted contents were valid, and a directory\ntransversal attempt could be embedded within a modified\nconfiguration drive ISO contents submitted to Ironic.\nThis is a case where an attacker would take a path in an ISO,\nand attempt to directly modify it to reach another path on the\nfilesystem which was within the confines and path structure they\nwere working with. i.e. while \"../foo\" is not a valid file or\ndirectory name in ISO9660, it can still be represented, injected,\nand read by the pycdlib library.\n\nThe code on all paths which perform this type of ISO content\ninteraction have been patched to explicitly check the path for\ntransversal attempts and internally raises an InvalidContent\nexception.\n\nImpacted features:\n* Virtual Media ISO patching code path for pre-generated\n  deployment ISOs as opposed to Ironic generated ISOs from\n  a kernel/ramdisk.\n* Anaconda deployment interfacce where a user could\n  impact the resulting pathing on the node being deployed\n  at deploy time.\n\nRelated-Bug: 2148333\nChange-Id: I09ba308dc5088260594a502d43413d2069616703\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/27acfec900f86403b13f435c28572ae927b99227"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/27acfec900f86403b13f435c28572ae927b99227"}]},"branch":"refs/heads/unmaintained/2024.1","description":"Rebase","conflicts":{"ours":"602a188b6355608e3c8e1164911dd930b1bef949","theirs":"7eb062e503034999f3e40e5f5c0f61b627c5c7b6","contains_conflicts":false}},"51800d0b80a32247361ccf8e410dc4161b2bd7b5":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2026-06-04 13:54:57.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/84/991384/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic","ref":"refs/changes/84/991384/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic refs/changes/84/991384/4"}}},"commit":{"parents":[{"commit":"9d1d5f6c190d3953233979dfb542eb9b2e70f7b8","subject":"Ensure kernel_append_params are valid kernel parameters","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/9d1d5f6c190d3953233979dfb542eb9b2e70f7b8"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-05-20 22:31:38.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-06-04 13:54:57.000000000","tz":0},"subject":"security: directory transversal ISO9660 support","message":"security: directory transversal ISO9660 support\n\nA vulnerability was identified in Ironic\u0027s handling of\nISO images where Ironic contains support to patch ISO9660\nvirtual media contents to include key data items like\nconfiguration drive data and other required metadata.\n\nAnyhow, the issue here was the Ironic service was trusting\nthat the submitted contents were valid, and a directory\ntransversal attempt could be embedded within a modified\nconfiguration drive ISO contents submitted to Ironic.\nThis is a case where an attacker would take a path in an ISO,\nand attempt to directly modify it to reach another path on the\nfilesystem which was within the confines and path structure they\nwere working with. i.e. while \"../foo\" is not a valid file or\ndirectory name in ISO9660, it can still be represented, injected,\nand read by the pycdlib library.\n\nThe code on all paths which perform this type of ISO content\ninteraction have been patched to explicitly check the path for\ntransversal attempts and internally raises an InvalidContent\nexception.\n\nImpacted features:\n* Virtual Media ISO patching code path for pre-generated\n  deployment ISOs as opposed to Ironic generated ISOs from\n  a kernel/ramdisk.\n* Anaconda deployment interfacce where a user could\n  impact the resulting pathing on the node being deployed\n  at deploy time.\n\nRelated-Bug: 2148333\nChange-Id: I09ba308dc5088260594a502d43413d2069616703\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/51800d0b80a32247361ccf8e410dc4161b2bd7b5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/51800d0b80a32247361ccf8e410dc4161b2bd7b5"}]},"branch":"refs/heads/unmaintained/2024.1","description":"Rebase","conflicts":{"ours":"27acfec900f86403b13f435c28572ae927b99227","theirs":"9d1d5f6c190d3953233979dfb542eb9b2e70f7b8","contains_conflicts":false}},"bbf236744aa17fe5a0546f6d7df01a67fb51e6be":{"kind":"TRIVIAL_REBASE","_number":5,"created":"2026-06-04 15:17:32.000000000","uploader":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"real_uploader":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"ref":"refs/changes/84/991384/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic","ref":"refs/changes/84/991384/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic refs/changes/84/991384/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic refs/changes/84/991384/5"}}},"commit":{"parents":[{"commit":"c5d37c51bed7e7dbdd84a7259892316efde2e33a","subject":"Ensure kernel_append_params are valid kernel parameters","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/c5d37c51bed7e7dbdd84a7259892316efde2e33a"}]}],"author":{"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","date":"2026-05-20 22:31:38.000000000","tz":-420},"committer":{"name":"Jay Faulkner","email":"jay@jvf.cc","date":"2026-06-04 15:17:32.000000000","tz":0},"subject":"security: directory transversal ISO9660 support","message":"security: directory transversal ISO9660 support\n\nA vulnerability was identified in Ironic\u0027s handling of\nISO images where Ironic contains support to patch ISO9660\nvirtual media contents to include key data items like\nconfiguration drive data and other required metadata.\n\nAnyhow, the issue here was the Ironic service was trusting\nthat the submitted contents were valid, and a directory\ntransversal attempt could be embedded within a modified\nconfiguration drive ISO contents submitted to Ironic.\nThis is a case where an attacker would take a path in an ISO,\nand attempt to directly modify it to reach another path on the\nfilesystem which was within the confines and path structure they\nwere working with. i.e. while \"../foo\" is not a valid file or\ndirectory name in ISO9660, it can still be represented, injected,\nand read by the pycdlib library.\n\nThe code on all paths which perform this type of ISO content\ninteraction have been patched to explicitly check the path for\ntransversal attempts and internally raises an InvalidContent\nexception.\n\nImpacted features:\n* Virtual Media ISO patching code path for pre-generated\n  deployment ISOs as opposed to Ironic generated ISOs from\n  a kernel/ramdisk.\n* Anaconda deployment interfacce where a user could\n  impact the resulting pathing on the node being deployed\n  at deploy time.\n\nRelated-Bug: 2148333\nChange-Id: I09ba308dc5088260594a502d43413d2069616703\nSigned-off-by: Julia Kreger \u003cjuliaashleykreger@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/bbf236744aa17fe5a0546f6d7df01a67fb51e6be"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic/commit/bbf236744aa17fe5a0546f6d7df01a67fb51e6be"}]},"branch":"refs/heads/unmaintained/2024.1","description":"Rebase","conflicts":{"ours":"51800d0b80a32247361ccf8e410dc4161b2bd7b5","theirs":"c5d37c51bed7e7dbdd84a7259892316efde2e33a","contains_conflicts":false}}},"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":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"}},{"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":""}}}]}
