)]}'
{"id":"openstack%2Fglance~981298","triplet_id":"openstack%2Fglance~stable%2F2025.1~Ib8d337dc68411d18c70d5712cc4f0986ef6205f4","project":"openstack/glance","branch":"stable/2025.1","topic":"bug-2138602-ssrf","attention_set":{},"removed_from_attention_set":{"5314":{"account":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"last_update":"2026-03-20 20:57:52.000000000","reason":"Change was submitted"},"9303":{"account":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"last_update":"2026-03-20 20:57:52.000000000","reason":"Change was submitted"},"8122":{"account":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"last_update":"2026-03-20 16:36:26.000000000","reason":"\u003cGERRIT_ACCOUNT_8122\u003e replied on the change","reason_account":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}}},"hashtags":[],"change_id":"Ib8d337dc68411d18c70d5712cc4f0986ef6205f4","subject":"Fix SSRF vulnerabilities in image import API","status":"MERGED","created":"2026-03-19 14:37:52.000000000","updated":"2026-03-20 21:02:43.000000000","submitted":"2026-03-20 20:57:52.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"981298-bug-2138602-ssrf","meta_rev_id":"0934c8b9524afb958f97d5b3a4a2d059bbf03866","_number":981298,"virtual_id_number":981298,"owner":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-03-20 20:57:51.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":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"all":[{"value":2,"date":"2026-03-20 16:36:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"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":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"all":[{"value":1,"date":"2026-03-20 16:36:26.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"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},"Review-Priority":{"all":[{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"}],"reviewers":{"CC":[{"_account_id":38329,"name":"Ilia Petrov","display_name":"Ilia Petrov","email":"il.petrov@maxima-int.com","username":"ilpetrov"}],"REVIEWER":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-19 14:41:03.000000000","updated_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"REVIEWER"},{"updated":"2026-03-19 19:40:22.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-03-20 10:05:24.000000000","updated_by":{"_account_id":38329,"name":"Ilia Petrov","display_name":"Ilia Petrov","email":"il.petrov@maxima-int.com","username":"ilpetrov"},"reviewer":{"_account_id":38329,"name":"Ilia Petrov","display_name":"Ilia Petrov","email":"il.petrov@maxima-int.com","username":"ilpetrov"},"state":"CC"},{"updated":"2026-03-20 13:53:04.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"}],"messages":[{"id":"4f23959470c2a457c821ccefae5bb3f90a4b8268","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-19 14:37:52.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"3cf100f3064627b672e24efaf1139e245615589f","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2026-03-19 14:41:03.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"9db9574dfc171cb97bb944700a46fbc9ef46eec7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-19 15:46:00.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Workflow+1\n","accounts_in_message":[],"_revision_number":2},{"id":"80f27889a276bc9291e2b79fe41bf2c3b9e1bef3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-19 16:12:54.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"8515aa12ac493b00e03fbf1a0545aab08b8e44c6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-19 17:16:14.000000000","message":"Patch Set 4: Commit message was updated.","accounts_in_message":[],"_revision_number":4},{"id":"cba316a3f562573e99f2869080e6dc4e334649f0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-19 19:40:22.000000000","message":"Patch Set 4: 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/0ef2c982ae3d456a80833962be9fbd0d\n\n- grenade https://zuul.opendev.org/t/openstack/build/429509be4f504d70b454a60e9e2a13c6 : SUCCESS in 54m 53s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/235759c92c4047ebb4dfc3113c12d13e : FAILURE in 43m 36s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/329d713243174efbbe5376de5e06b7c0 : SUCCESS in 1h 20m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/c7dc71319ccd4b2b9fff95713bf11376 : SUCCESS in 59m 44s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/15ba4057057a498aa5f882178aafe4a1 : SUCCESS in 3m 10s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/45c0f08b468d4b28ab3071e86f07c667 : SUCCESS in 5m 22s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/7747bf33ef2442fe8ceb44cb36559d9f : SUCCESS in 5m 20s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9a4e08be971d42fba4d655dcaf4359ec : SUCCESS in 3m 30s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e3da888634384642a114f9722f795731 : SUCCESS in 5m 02s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/4c5d9ac1ade54673bb88fa8427795bed : SUCCESS in 6m 38s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/c4ffce6abf384825b65fcfff31ae4327 : SUCCESS in 10m 06s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/092f4726a0bd4013b0679c1ca7ffe6fe : SUCCESS in 6m 37s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/e21c1f393e044bf79c9fb9fbf821740a : SUCCESS in 2h 00m 52s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/220d19a015f149369d581078f62f921c : SUCCESS in 1h 54m 30s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/db9965471b134bb398ee80bfae51e24d : SUCCESS in 2h 11m 04s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/e78017a6719f46e8af9ecb140cb8342d : SUCCESS in 1h 58m 30s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/8d98c2e5a61d4a4ca1946048ca1ec8d3 : SUCCESS in 1h 52m 23s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/f273c5e2225c43c08fe5d6f38c2e6644 : SUCCESS in 43m 07s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/d44a73a202734501a9acb10879d58b3c : SUCCESS in 1h 46m 13s\n- glance-centralized-cache https://zuul.opendev.org/t/openstack/build/08981bcbdf914ac9b37955140b4ac0eb : SUCCESS in 2h 13m 00s (non-voting)\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/3a3e16dde72442bba599140e2f17b33c : FAILURE in 25m 45s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/e95e9299eaef41258263fb9f5eb4e74b : FAILURE in 17m 32s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/0ddd360dba8347a1a7f49bca4c5ea598 : SUCCESS in 25m 53s","accounts_in_message":[],"_revision_number":4},{"id":"1ede32a14109fd19efad1c6300a1d4e61df73430","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-19 19:47:43.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"3bd50f2836e3ee585173f71b0308161ea7febbef","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-19 22:25:06.000000000","message":"Patch Set 4:\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/07bb1426631e4ddf937bdbc7fe27eab2\n\n- grenade https://zuul.opendev.org/t/openstack/build/f269bd76a0764a89bf7afc2c8977aa14 : SUCCESS in 1h 00m 56s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/13e5cd4d60bc47b9be0f23eefcbe2f88 : FAILURE in 47m 28s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/5c4ced6962a84666b6f71fee427e7a56 : SUCCESS in 1h 16m 31s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/9a4e3b7b5cab449d825784c027aa938f : SUCCESS in 1h 09m 51s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d5bb4decb5c04c07b1e7cca4e3d164f2 : SUCCESS in 4m 49s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d6693695b0a94fb3912892e2b64e17fc : SUCCESS in 5m 33s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/d97c196b148b421581ffdb7f98bb4ca5 : SUCCESS in 5m 18s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ef32207e260d4e2395eeefd269816905 : SUCCESS in 5m 53s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/3364310d2466445b9781f4ccb4377b98 : SUCCESS in 6m 46s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/d79d4b3a59e847199abfabb7dcce37b1 : SUCCESS in 9m 03s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/a2125d894ecd4771960a00da9ded1713 : SUCCESS in 8m 49s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/e372e0cf60ec4e02933be09287fb49c1 : SUCCESS in 8m 57s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/dcf5fa4a19ef4e4884a8dc68952f3b0b : SUCCESS in 1h 44m 46s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/f68b140562ba457c8da34534f1950b8f : SUCCESS in 1h 02m 53s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/fd8a7ea0a2394a3aa2cef7226215dcc2 : SUCCESS in 1h 37m 13s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/528217ef6f934f2f94bbaca1a830e922 : SUCCESS in 1h 05m 31s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/935ea48f7c6147c081b8f8880308a122 : SUCCESS in 2h 30m 13s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c39776b764ac411a85f74aecedd5a35f : SUCCESS in 32m 59s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/8c27f1975eab4b0d84d5facbd633fa28 : SUCCESS in 2h 10m 09s\n- glance-centralized-cache https://zuul.opendev.org/t/openstack/build/dbc16430eeae4cee9187a7888dc66661 : SUCCESS in 2h 05m 31s (non-voting)\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/f7cb16ed1a1749dab1b74deeaec3fa58 : FAILURE in 20m 15s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/8ad43193f5224d56b3ce097c9b7a6887 : FAILURE in 11m 17s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/6396c5e898054fc2821468d0de183bdf : SUCCESS in 31m 58s","accounts_in_message":[],"_revision_number":4},{"id":"103ae217326c695d208a9264284c382e4d0045ec","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2026-03-20 05:10:34.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"634363ddf70085b9aba1ef49ef637f8fb51179cc","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 07:07:19.000000000","message":"Patch Set 4:\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/30126d20a7ba4addb1b30a3b2de38d4b\n\n- grenade https://zuul.opendev.org/t/openstack/build/3c545ab13658469e969661f6080c0a18 : SUCCESS in 55m 53s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/a23ff48a60974fcca540117bf2772cfa : FAILURE in 35m 56s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/82b7aa56df8b4307b07612e595397c4f : SUCCESS in 1h 23m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6171f92c48ec4a9ca184129e33cda86c : SUCCESS in 35m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7448223935b14b16a9befd03ba13ed2f : SUCCESS in 4m 32s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/c1de9eb05cb04c78b2e40868fa7a9cca : SUCCESS in 3m 22s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/f4b2bc61c77b44b2ae1fdcc4c55b7674 : SUCCESS in 3m 24s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/12b036aa7401417aae603611e81b3235 : SUCCESS in 5m 16s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c308898b7ee04b25be9086aa1510b822 : SUCCESS in 6m 31s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/a64abe5b4ff14b758426f279a544bfc3 : SUCCESS in 8m 21s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/89eaff1ad1744cd78b2c36fe20805740 : SUCCESS in 7m 47s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/4daa70bc4d4c45d1a45751e590d467a1 : SUCCESS in 7m 49s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/df1ff7c101b84a3383e51fce375231ad : SUCCESS in 1h 31m 23s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/70a7a9689bbe4428ad96692b056c7498 : SUCCESS in 1h 51m 13s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/38b00e524d5047bbb0337bf83e0a0c99 : SUCCESS in 1h 40m 23s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/28fbf7fdb37a40f0abed7bfd5b8b05c9 : SUCCESS in 1h 27m 51s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/2be99b02a83d45ba9d60287055e80dda : SUCCESS in 1h 46m 13s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/0feb4310dac147bbbbf93ae7032ba3b7 : SUCCESS in 59m 13s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/abb7a5d89f2f49e08d3dca0cd6db7900 : SUCCESS in 1h 44m 42s\n- glance-centralized-cache https://zuul.opendev.org/t/openstack/build/9b5ecfda803043f19eae64d4686a2e96 : SUCCESS in 1h 26m 17s (non-voting)\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/421e019f3778496eb8564cafb1a4b7f3 : FAILURE in 16m 53s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/7058a3f170a34541ab4a66948e2e289a : FAILURE in 32m 45s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/1b49c0344a50466c91edceecba66b15b : SUCCESS in 24m 50s","accounts_in_message":[],"_revision_number":4},{"id":"f6e2bd505842cce64aaa5c2557c25761d59571f2","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2026-03-20 13:07:43.000000000","message":"Topic set to bug-2138602-ssrf","accounts_in_message":[],"_revision_number":4},{"id":"e9dc74b65304f5704c02a546d7755ef044cfedc9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2026-03-20 13:53:04.000000000","message":"Uploaded patch set 5.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":5},{"id":"ae92a112c714059fa9e05753aa293ae5bfda2f5e","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2026-03-20 13:53:44.000000000","message":"Patch Set 5:\n\n(1 comment)","accounts_in_message":[],"_revision_number":5},{"id":"d6263f732ffa81a708b487fbe33ec0b1b5864cbd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 16:12:31.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0c80d557de314d31b1682349533d9d8d\n\n- grenade https://zuul.opendev.org/t/openstack/build/43e520b61e384b968077efcc7072cc3b : SUCCESS in 58m 09s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/94507b6e5c6449bd9231d2c4351d2855 : FAILURE in 47m 41s (non-voting)\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/a19bb46244684d3ca8f04ff119808a29 : SUCCESS in 1h 34m 04s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/174129b701d64f3b8f07a9c2c65ed338 : SUCCESS in 33m 27s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/1c094d77996c403091d1a0b88c638fc4 : SUCCESS in 2m 37s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/1f81455d9f3546889f6d64d9a5e9a339 : SUCCESS in 6m 01s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/d43adbce45d44a83857d758d02d2882b : SUCCESS in 5m 19s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f20149026f2c403986aa7b8c2d65fbed : SUCCESS in 3m 00s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/01fb81aea5d14648bfad8d210f551697 : SUCCESS in 4m 50s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/1b343e59a6ed4b1b970c36a79d293e6b : SUCCESS in 8m 36s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/c123c0023d6643feb23e8ec42c0daa93 : SUCCESS in 9m 09s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/ef0b48af4b2b4138bbc3126de955fefe : SUCCESS in 8m 53s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/89db3bfabf8149fdb432a84c78ecf23a : SUCCESS in 1h 53m 31s (non-voting)\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/0fc0086ce0e04b3c95b4863964267af9 : SUCCESS in 1h 49m 06s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/f24b4694b46b417894ab7421cf2f613a : SUCCESS in 2h 00m 26s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/2f0695ce253f473dbade89dd9868871b : SUCCESS in 2h 11m 23s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/a43ed9a92da847108c42c8f50aae40e0 : SUCCESS in 2h 09m 38s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/fc31d898cd2e4c02982625b2e927b108 : SUCCESS in 31m 08s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/e08c87de2e93481d9a2aae70b07aa6f4 : SUCCESS in 1h 31m 16s\n- glance-centralized-cache https://zuul.opendev.org/t/openstack/build/5b04834a318b471fb2226804da1a9a7b : SUCCESS in 2h 02m 31s (non-voting)\n- glance-grenade-centralized-cache https://zuul.opendev.org/t/openstack/build/3232df2637834d9b89c8e7105c613014 : FAILURE in 29m 38s (non-voting)\n- glance-s3-multistore https://zuul.opendev.org/t/openstack/build/a33bcffbbfd148068f4aa87c05807d02 : FAILURE in 27m 57s (non-voting)\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/55a36122bc7a4010b33d43ef01ee1335 : SUCCESS in 33m 09s","accounts_in_message":[],"_revision_number":5},{"id":"2b2f13d73a4dc7afaf5c19264fee8b0689c16471","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2026-03-20 16:36:26.000000000","message":"Patch Set 5: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":5},{"id":"a5924cdd3dd6b374223e8fcc2c554a6b72ab86ad","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 16:37:50.000000000","message":"Patch Set 5: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":5},{"id":"42f143728691089873f6f2b6a940257409c9cf53","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 20:57:51.000000000","message":"Patch Set 5: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3192baf8e6ec47a1bed8f8a4dcd0d7d8\n\n- grenade https://zuul.opendev.org/t/openstack/build/95cec237a33f4eb0b1955da6d188ddfb : SUCCESS in 58m 32s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/fbdcf753339a41cb832d49fd790dd116 : FAILURE in 47m 55s (non-voting)\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/46de27077752402ca8ad118f736faecf : SUCCESS in 1h 25m 46s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/cc2812cd616b40759f6a093d518bb3b4 : SUCCESS in 36m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/069661559b8e4138a972da7dbc2fd4c8 : SUCCESS in 7m 39s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/60de2911068f4f57be791aadd20e6284 : SUCCESS in 7m 10s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ef2ad5b22cc643ae9d127bf3a9308ce8 : SUCCESS in 7m 44s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e8e796707eae4dc5af0f8bbbde702e66 : SUCCESS in 10m 38s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/34f1195393df4d72bb6339ffd63a9e53 : SUCCESS in 7m 12s\n- openstack-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/f795561bb58e4680add9abcbd97e7a57 : SUCCESS in 7m 38s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/7c39a06c71a74adc9475a3e92c78ca96 : SUCCESS in 7m 13s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/56cb154cbe474070baadbf6bf945f0e6 : SUCCESS in 9m 31s\n- tempest-integrated-storage-enforce-scope-new-defaults https://zuul.opendev.org/t/openstack/build/850a74bdb68546d1b343957071e70432 : SUCCESS in 1h 25m 32s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/3481053cf927418da2f7cdd1215f800a : SUCCESS in 1h 53m 52s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/34d9e2f3598b4259ac110fbf18b820a5 : SUCCESS in 1h 15m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3b902c3645d7477382542fdd86120271 : SUCCESS in 56m 22s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/f489ce0ab8114d2bbd4e907824f6c7fd : SUCCESS in 2h 12m 42s\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/f8cb102536354dffbed4fd07cc6e23e5 : SUCCESS in 27m 01s","accounts_in_message":[],"_revision_number":5},{"id":"513fb6c84f9ff8a26d29730ce444227fb6b1a135","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 20:57:52.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":5},{"id":"0934c8b9524afb958f97d5b3a4a2d059bbf03866","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-20 21:02:43.000000000","message":"Patch Set 5:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/2e5fe007114f47dc9253e045a3c7f25a\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f3644ba72a4348e0970d3fab99ddf490 : SUCCESS in 47s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/09f7ccf221664dda847b7b54fedcf683 : SUCCESS in 48s","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"bb0d59fff722dbccb5a3e7696eada3d8d372ba8d","revisions":{"20df284695c893c7e01cb2de0b268d637bc75041":{"kind":"REWORK","_number":1,"created":"2026-03-19 14:37:52.000000000","uploader":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"ref":"refs/changes/98/981298/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/981298/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/981298/1"}}},"commit":{"parents":[{"commit":"9b0af563193ef03a1b0f5e1e80030d96d723590b","subject":"Add glance/wsgi/__init__.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9b0af563193ef03a1b0f5e1e80030d96d723590b"}]}],"author":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-01-20 19:02:08.000000000","tz":0},"committer":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-03-19 14:36:32.000000000","tz":0},"subject":"Fix SSRF vulnerabilities in image import API","message":"Fix SSRF vulnerabilities in image import API\n\nFixed Server-Side Request Forgery (SSRF) vulnerabilities in Glance\u0027s image\nimport functionality that could allow attackers to bypass URL validation\nand access internal resources.\n\nThe fix includes:\n- IP address validation using Python\u0027s ipaddress module to reject encoded\n  IP formats (decimal, hexadecimal, octal) that could bypass blacklist checks\n- HTTP redirect validation for web-download, glance-download, and OVF\n  processing to prevent redirect-based SSRF attacks\n- URI validation for OVF processing which previously had no protection\n\nThe implementation uses Python\u0027s built-in ipaddress module which inherently\nrejects all non-standard IP encodings and only accepts standard formats,\nproviding robust protection against IP encoding bypass attacks.\n\nAssisted-by: Used Cursor (Auto) for unit tests.\n\nCloses-Bug: #2138602\nCloses-Bug: #2138672\nCloses-Bug: #2138675\nSecurityImpact\n\nConflicts:\n    glance/tests/functional/v2/test_images.py\n    glance/tests/unit/common/test_utils.py\n\nChange-Id: Ib8d337dc68411d18c70d5712cc4f0986ef6205f4\nSigned-off-by: Abhishek Kekane \u003cakekane@redhat.com\u003e\n(cherry picked from commit 38040d086bf6c159f45d201f361a71e7a32e62af)\n(cherry picked from commit e9cdb9ff2bc44677e028a370cb5606343227beb6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/20df284695c893c7e01cb2de0b268d637bc75041"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/20df284695c893c7e01cb2de0b268d637bc75041"}]},"branch":"refs/heads/stable/2025.1"},"68a8233ac5444a299f7f5926e80ecc60c241bbb9":{"kind":"REWORK","_number":2,"created":"2026-03-19 15:46:00.000000000","uploader":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"ref":"refs/changes/98/981298/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/981298/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/981298/2"}}},"commit":{"parents":[{"commit":"9b0af563193ef03a1b0f5e1e80030d96d723590b","subject":"Add glance/wsgi/__init__.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9b0af563193ef03a1b0f5e1e80030d96d723590b"}]}],"author":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-01-20 19:02:08.000000000","tz":0},"committer":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-03-19 15:43:10.000000000","tz":0},"subject":"Fix SSRF vulnerabilities in image import API","message":"Fix SSRF vulnerabilities in image import API\n\nFixed Server-Side Request Forgery (SSRF) vulnerabilities in Glance\u0027s image\nimport functionality that could allow attackers to bypass URL validation\nand access internal resources.\n\nThe fix includes:\n- IP address validation using Python\u0027s ipaddress module to reject encoded\n  IP formats (decimal, hexadecimal, octal) that could bypass blacklist checks\n- HTTP redirect validation for web-download, glance-download, and OVF\n  processing to prevent redirect-based SSRF attacks\n- URI validation for OVF processing which previously had no protection\n\nThe implementation uses Python\u0027s built-in ipaddress module which inherently\nrejects all non-standard IP encodings and only accepts standard formats,\nproviding robust protection against IP encoding bypass attacks.\n\nNOTE: Pin setuptools\u003c82 for pkg_resources\nAssisted-by: Used Cursor (Auto) for unit tests.\n\nCloses-Bug: #2138602\nCloses-Bug: #2138672\nCloses-Bug: #2138675\nSecurityImpact\n\nConflicts:\n    glance/tests/functional/v2/test_images.py\n    glance/tests/unit/common/test_utils.py\n\nChange-Id: Ib8d337dc68411d18c70d5712cc4f0986ef6205f4\nSigned-off-by: Abhishek Kekane \u003cakekane@redhat.com\u003e\n(cherry picked from commit 38040d086bf6c159f45d201f361a71e7a32e62af)\n(cherry picked from commit e9cdb9ff2bc44677e028a370cb5606343227beb6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/68a8233ac5444a299f7f5926e80ecc60c241bbb9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/68a8233ac5444a299f7f5926e80ecc60c241bbb9"}]},"branch":"refs/heads/stable/2025.1"},"5dbc24d11eabbc463b9aa66706068496a572c532":{"kind":"REWORK","_number":3,"created":"2026-03-19 16:12:54.000000000","uploader":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"ref":"refs/changes/98/981298/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/981298/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/981298/3"}}},"commit":{"parents":[{"commit":"9b0af563193ef03a1b0f5e1e80030d96d723590b","subject":"Add glance/wsgi/__init__.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9b0af563193ef03a1b0f5e1e80030d96d723590b"}]}],"author":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-01-20 19:02:08.000000000","tz":0},"committer":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-03-19 16:11:26.000000000","tz":0},"subject":"Fix SSRF vulnerabilities in image import API","message":"Fix SSRF vulnerabilities in image import API\n\nFixed Server-Side Request Forgery (SSRF) vulnerabilities in Glance\u0027s image\nimport functionality that could allow attackers to bypass URL validation\nand access internal resources.\n\nThe fix includes:\n- IP address validation using Python\u0027s ipaddress module to reject encoded\n  IP formats (decimal, hexadecimal, octal) that could bypass blacklist checks\n- HTTP redirect validation for web-download, glance-download, and OVF\n  processing to prevent redirect-based SSRF attacks\n- URI validation for OVF processing which previously had no protection\n\nThe implementation uses Python\u0027s built-in ipaddress module which inherently\nrejects all non-standard IP encodings and only accepts standard formats,\nproviding robust protection against IP encoding bypass attacks.\n\nNOTE: Pin setuptools\u003c82 for pkg_resources\nAssisted-by: Used Cursor (Auto) for unit tests.\n\nCloses-Bug: #2138602\nCloses-Bug: #2138672\nCloses-Bug: #2138675\nSecurityImpact\n\nConflicts:\n    glance/tests/functional/v2/test_images.py\n    glance/tests/unit/common/test_utils.py\n\nChange-Id: Ib8d337dc68411d18c70d5712cc4f0986ef6205f4\nSigned-off-by: Abhishek Kekane \u003cakekane@redhat.com\u003e\n(cherry picked from commit 38040d086bf6c159f45d201f361a71e7a32e62af)\n(cherry picked from commit e9cdb9ff2bc44677e028a370cb5606343227beb6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/5dbc24d11eabbc463b9aa66706068496a572c532"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/5dbc24d11eabbc463b9aa66706068496a572c532"}]},"branch":"refs/heads/stable/2025.1"},"76575987633d4b49fd5df150dfbe80d5879436c4":{"kind":"NO_CODE_CHANGE","_number":4,"created":"2026-03-19 17:16:14.000000000","uploader":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"ref":"refs/changes/98/981298/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/981298/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/981298/4"}}},"commit":{"parents":[{"commit":"9b0af563193ef03a1b0f5e1e80030d96d723590b","subject":"Add glance/wsgi/__init__.py","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/9b0af563193ef03a1b0f5e1e80030d96d723590b"}]}],"author":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-01-20 19:02:08.000000000","tz":0},"committer":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-03-19 17:16:14.000000000","tz":0},"subject":"Fix SSRF vulnerabilities in image import API","message":"Fix SSRF vulnerabilities in image import API\n\nFixed Server-Side Request Forgery (SSRF) vulnerabilities in Glance\u0027s image\nimport functionality that could allow attackers to bypass URL validation\nand access internal resources.\n\nThe fix includes:\n- IP address validation using Python\u0027s ipaddress module to reject encoded\n  IP formats (decimal, hexadecimal, octal) that could bypass blacklist checks\n- HTTP redirect validation for web-download, glance-download, and OVF\n  processing to prevent redirect-based SSRF attacks\n- URI validation for OVF processing which previously had no protection\n\nThe implementation uses Python\u0027s built-in ipaddress module which inherently\nrejects all non-standard IP encodings and only accepts standard formats,\nproviding robust protection against IP encoding bypass attacks.\n\nNOTE: Pin setuptools\u003c82 for pkg_resources\n\nDepends-On: https://review.opendev.org/c/openstack/tempest/+/981329\n\nAssisted-by: Used Cursor (Auto) for unit tests.\n\nCloses-Bug: #2138602\nCloses-Bug: #2138672\nCloses-Bug: #2138675\nSecurityImpact\n\nConflicts:\n    glance/tests/functional/v2/test_images.py\n    glance/tests/unit/common/test_utils.py\n\nChange-Id: Ib8d337dc68411d18c70d5712cc4f0986ef6205f4\nSigned-off-by: Abhishek Kekane \u003cakekane@redhat.com\u003e\n(cherry picked from commit 38040d086bf6c159f45d201f361a71e7a32e62af)\n(cherry picked from commit e9cdb9ff2bc44677e028a370cb5606343227beb6)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/76575987633d4b49fd5df150dfbe80d5879436c4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/76575987633d4b49fd5df150dfbe80d5879436c4"}]},"branch":"refs/heads/stable/2025.1","description":"Edit commit message"},"bb0d59fff722dbccb5a3e7696eada3d8d372ba8d":{"kind":"REWORK","_number":5,"created":"2026-03-20 13:53:04.000000000","uploader":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"ref":"refs/changes/98/981298/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/98/981298/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/98/981298/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/98/981298/5"}}},"commit":{"parents":[{"commit":"d88f696b76156e7ce192f8ff798c783be9f1b4fe","subject":"[stable-only] fix stable/2025.1 gate jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/d88f696b76156e7ce192f8ff798c783be9f1b4fe"}]}],"author":{"name":"Abhishek Kekane","email":"akekane@redhat.com","date":"2026-01-20 19:02:08.000000000","tz":0},"committer":{"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","date":"2026-03-20 13:51:45.000000000","tz":-240},"subject":"Fix SSRF vulnerabilities in image import API","message":"Fix SSRF vulnerabilities in image import API\n\nFixed Server-Side Request Forgery (SSRF) vulnerabilities in Glance\u0027s image\nimport functionality that could allow attackers to bypass URL validation\nand access internal resources.\n\nThe fix includes:\n- IP address validation using Python\u0027s ipaddress module to reject encoded\n  IP formats (decimal, hexadecimal, octal) that could bypass blacklist checks\n- HTTP redirect validation for web-download, glance-download, and OVF\n  processing to prevent redirect-based SSRF attacks\n- URI validation for OVF processing which previously had no protection\n\nThe implementation uses Python\u0027s built-in ipaddress module which inherently\nrejects all non-standard IP encodings and only accepts standard formats,\nproviding robust protection against IP encoding bypass attacks.\n\nDepends-On: https://review.opendev.org/c/openstack/tempest/+/981329\n\nAssisted-by: Used Cursor (Auto) for unit tests.\n\nCloses-Bug: #2138602\nCloses-Bug: #2138672\nCloses-Bug: #2138675\nSecurityImpact\n\nConflicts:\n    glance/tests/functional/v2/test_images.py\n    glance/tests/unit/common/test_utils.py\n\nChange-Id: Ib8d337dc68411d18c70d5712cc4f0986ef6205f4\nSigned-off-by: Abhishek Kekane \u003cakekane@redhat.com\u003e\n(cherry picked from commit 38040d086bf6c159f45d201f361a71e7a32e62af)\n(cherry picked from commit e9cdb9ff2bc44677e028a370cb5606343227beb6)\nSigned-off-by: Brian Rosmaita \u003crosmaita.fossdev@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bb0d59fff722dbccb5a3e7696eada3d8d372ba8d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bb0d59fff722dbccb5a3e7696eada3d8d372ba8d"}]},"branch":"refs/heads/stable/2025.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":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"}},{"label":"Review-Priority","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":{}}},{"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":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"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":{}}}]}
