{"schemaVersion":3,"id":"CVE-2026-54770","aliases":["SUSE-SU-2026:4351-1","GHSA-6hx8-3wjj-gr8g","PYSEC-2026-3943","UBUNTU-CVE-2026-54770","DEBIAN-CVE-2026-54770","openSUSE-SU-2026:11864-1","CGA-283c-xmq7-xm8f","CGA-2hwv-qf4m-ww28","CGA-2jfx-vxr5-rf7x","CGA-38fj-4x42-fhh5","CGA-3c4g-c7h7-p2g4","CGA-3jm9-vr8v-jq5m","CGA-46pm-wwxx-x344","CGA-4cx7-rjw2-pq6x","CGA-54pv-pxh2-jfg2","CGA-5rj2-5v33-g6fm","CGA-6jj8-7r6f-h293","CGA-6p85-rh64-h65q","CGA-6wwx-qfm3-3wwx","CGA-7h72-6q53-wj6c","CGA-7w8m-p548-3hhr","CGA-7w94-5jv9-2h8g","CGA-84fw-r9pc-97fj","CGA-8rrq-vwpq-p27p","CGA-92vw-7f97-mhpp","CGA-959w-49qc-6r59","CGA-99j5-mmj8-25p5","CGA-c2wg-v9p8-85wf","CGA-c3gc-2mf8-4rpg","CGA-c6m6-48wp-8grv","CGA-c8vw-grf9-p637","CGA-cr5v-cq6v-27x2","CGA-ffph-c4gf-h87h","CGA-fg27-7cgf-hq9p","CGA-fh9w-v38f-c87v","CGA-g9fc-cgqx-w4mq","CGA-gx3r-p42f-9j5g","CGA-h5gx-r79x-xfm3","CGA-h7x7-h69m-547x","CGA-j3r6-3jh4-g85r","CGA-jm6q-88jx-v2rv","CGA-jr64-922p-6pvh","CGA-jv26-53mh-mvr2","CGA-jx27-pmjp-327r","CGA-m4v9-m52f-cqjr","CGA-mfp7-93jq-x6rw","CGA-mj53-r39q-j298","CGA-mjm9-q9mq-6vgq","CGA-mr85-5w9m-pgxm","CGA-p6vw-3286-63m7","CGA-pfwm-25vw-vcvr","CGA-qfjc-2c9h-85xv","CGA-qhcm-x452-jxrm","CGA-qx8p-wmp9-5px5","CGA-r68g-f9hp-7pxx","CGA-rh7q-5qvw-w662","CGA-rv8x-p87c-wg87","CGA-v879-26hj-546m","CGA-vpw5-v3w3-pfvh","CGA-wfmq-f2cp-6j24","CGA-xc6g-8p39-mh58","CGA-xmxj-r568-869q","CGA-xp2m-j6m9-9w42","CGA-xqwv-w2vw-f8fc","CGA-xv74-9rqc-4g6j","CGA-xw58-hwqv-7xhr"],"status":"published","duplicateOf":null,"title":null,"description":"WebOb provides objects for HTTP requests and responses. Prior to 1.8.11, Response._make_location_absolute() in src/webob/response.py checks a Location value for a URI scheme or leading double slash before urllib.parse.urljoin() strips leading C0 control characters and spaces. An attacker-controlled value such as a space followed by a protocol-relative or absolute URL can therefore bypass SCHEME_RE and startswith(\"//\") checks and be normalized to an off-host redirect. Request.relative_url() and webob.exc._HTTPMove subclasses, including HTTPFound, are also affected because they use the same unsafe URL joining behavior or bypass the earlier normalization path. An unauthenticated attacker who can influence an application's redirect target can send users to an attacker-controlled host for phishing or OAuth and SSO token theft, but exploitation requires the user to follow the redirect. This issue is fixed in version 1.8.11.","dates":{"published":"2026-08-20T16:31:46.791Z","modified":"2026-08-25T15:04:18.917Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.1,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Pypi","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Chainguard","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":7.2,"impact":4.5,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00421,"percentile":0.35091,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.08200000000000005,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00339},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00421,"percentile":0.35091}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00339,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00378,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00421,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00421,"percentile":0.35091}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-601","name":"URL Redirection to Untrusted Site ('Open Redirect')","description":"The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Low","url":"https://cwe.mitre.org/data/definitions/601.html"}],"affected":[{"vendor":"chainguard","product":"openstack-glance-2025.1","name":"openstack-glance-2025.1","label":"openstack-glance-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2025.1","purlType":"apk","versions":[{"text":"< 30.2.0_git20260616-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 30.2.0_git20260616-r11","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-glance-2025.1-fips","name":"openstack-glance-2025.1-fips","label":"openstack-glance-2025.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2025.1-fips","purlType":"apk","versions":[{"text":"< 30.2.0_git20260617-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 30.2.0_git20260617-r11","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-glance-2025.2","name":"openstack-glance-2025.2","label":"openstack-glance-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2025.2","purlType":"apk","versions":[{"text":"< 31.1.0_git20260818-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 31.1.0_git20260818-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-glance-2025.2-fips","name":"openstack-glance-2025.2-fips","label":"openstack-glance-2025.2-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2025.2-fips","purlType":"apk","versions":[{"text":"< 31.1.0_git20260812-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 31.1.0_git20260812-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-glance-2026.1","name":"openstack-glance-2026.1","label":"openstack-glance-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2026.1","purlType":"apk","versions":[{"text":"< 32.0.0_git20260805-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 32.0.0_git20260805-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-glance-2026.1-fips","name":"openstack-glance-2026.1-fips","label":"openstack-glance-2026.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-glance-2026.1-fips","purlType":"apk","versions":[{"text":"< 32.0.0_git20260810-r4","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 32.0.0_git20260810-r4","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2025.1","name":"openstack-horizon-2025.1","label":"openstack-horizon-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2025.1","purlType":"apk","versions":[{"text":"< 25.3.2_git20260617-r10","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.3.2_git20260617-r10","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2025.1-fips","name":"openstack-horizon-2025.1-fips","label":"openstack-horizon-2025.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2025.1-fips","purlType":"apk","versions":[{"text":"< 25.3.2_git20260617-r10","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.3.2_git20260617-r10","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2025.2","name":"openstack-horizon-2025.2","label":"openstack-horizon-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2025.2","purlType":"apk","versions":[{"text":"< 25.5.2_git20260812-r2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.5.2_git20260812-r2","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2025.2-fips","name":"openstack-horizon-2025.2-fips","label":"openstack-horizon-2025.2-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2025.2-fips","purlType":"apk","versions":[{"text":"< 25.5.2_git20260812-r4","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.5.2_git20260812-r4","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2026.1","name":"openstack-horizon-2026.1","label":"openstack-horizon-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2026.1","purlType":"apk","versions":[{"text":"< 25.7.3_git20260814-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.7.3_git20260814-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-horizon-2026.1-fips","name":"openstack-horizon-2026.1-fips","label":"openstack-horizon-2026.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-horizon-2026.1-fips","purlType":"apk","versions":[{"text":"< 25.7.3_git20260813-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 25.7.3_git20260813-r5","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2025.1","name":"openstack-keystone-2025.1","label":"openstack-keystone-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2025.1","purlType":"apk","versions":[{"text":"< 27.0.1_git20260831-r0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 27.0.1_git20260831-r0","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2025.1-fips","name":"openstack-keystone-2025.1-fips","label":"openstack-keystone-2025.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2025.1-fips","purlType":"apk","versions":[{"text":"< 27.0.1_git20260811-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 27.0.1_git20260811-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2025.2","name":"openstack-keystone-2025.2","label":"openstack-keystone-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2025.2","purlType":"apk","versions":[{"text":"< 28.0.1_git20260618-r9","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 28.0.1_git20260618-r9","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2025.2-fips","name":"openstack-keystone-2025.2-fips","label":"openstack-keystone-2025.2-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2025.2-fips","purlType":"apk","versions":[{"text":"< 28.0.1_git20260618-r10","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 28.0.1_git20260618-r10","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2026.1","name":"openstack-keystone-2026.1","label":"openstack-keystone-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2026.1","purlType":"apk","versions":[{"text":"< 29.0.1_git20260616-r10","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 29.0.1_git20260616-r10","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-keystone-2026.1-fips","name":"openstack-keystone-2026.1-fips","label":"openstack-keystone-2026.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-keystone-2026.1-fips","purlType":"apk","versions":[{"text":"< 29.0.1_git20260617-r13","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 29.0.1_git20260617-r13","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-nova-2025.1","name":"openstack-nova-2025.1","label":"openstack-nova-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-nova-2025.1","purlType":"apk","versions":[{"text":"< 31.3.0_git20260717-r6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 31.3.0_git20260717-r6","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-nova-2025.2","name":"openstack-nova-2025.2","label":"openstack-nova-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-nova-2025.2","purlType":"apk","versions":[{"text":"< 32.2.0_git20260715-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 32.2.0_git20260715-r5","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-nova-2026.1","name":"openstack-nova-2026.1","label":"openstack-nova-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-nova-2026.1","purlType":"apk","versions":[{"text":"< 33.0.1_git20260812-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 33.0.1_git20260812-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2025.1","name":"openstack-placement-2025.1","label":"openstack-placement-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2025.1","purlType":"apk","versions":[{"text":"< 13.0.0_git20260720-r5","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 13.0.0_git20260720-r5","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2025.1-fips","name":"openstack-placement-2025.1-fips","label":"openstack-placement-2025.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2025.1-fips","purlType":"apk","versions":[{"text":"< 13.0.0_git20260720-r4","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 13.0.0_git20260720-r4","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2025.2","name":"openstack-placement-2025.2","label":"openstack-placement-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2025.2","purlType":"apk","versions":[{"text":"< 14.0.0_git20260617-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 14.0.0_git20260617-r11","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2025.2-fips","name":"openstack-placement-2025.2-fips","label":"openstack-placement-2025.2-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2025.2-fips","purlType":"apk","versions":[{"text":"< 14.0.0_git20260309-r11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 14.0.0_git20260309-r11","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2026.1","name":"openstack-placement-2026.1","label":"openstack-placement-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2026.1","purlType":"apk","versions":[{"text":"< 15.0.0_git20260806-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 15.0.0_git20260806-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-placement-2026.1-fips","name":"openstack-placement-2026.1-fips","label":"openstack-placement-2026.1-fips","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-placement-2026.1-fips","purlType":"apk","versions":[{"text":"< 15.0.0_git20260812-r3","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 15.0.0_git20260812-r3","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-tempest-2025.1","name":"openstack-tempest-2025.1","label":"openstack-tempest-2025.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-tempest-2025.1","purlType":"apk","versions":[{"text":"< 43.0.0-r7","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 43.0.0-r7","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-tempest-2025.2","name":"openstack-tempest-2025.2","label":"openstack-tempest-2025.2","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-tempest-2025.2","purlType":"apk","versions":[{"text":"< 45.0.0-r9","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 45.0.0-r9","eol":null,"hubHref":null},{"vendor":"chainguard","product":"openstack-tempest-2026.1","name":"openstack-tempest-2026.1","label":"openstack-tempest-2026.1","ecosystem":"Chainguard","cpePart":null,"purl":"pkg:apk/chainguard/openstack-tempest-2026.1","purlType":"apk","versions":[{"text":"< 46.2.0-r9","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 46.2.0-r9","eol":null,"hubHref":null},{"vendor":"debian","product":"python-webob","name":"python-webob","label":"python-webob","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/python-webob","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 1:1.8.11-1","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 1:1.8.11-1","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"python-webob","name":"python-webob","label":"python-webob","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/python-webob","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"pylons","product":"webob","name":"webob","label":"webob","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.8.11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.8.11","eol":null,"hubHref":"/vendor/pylons/webob"},{"vendor":"PyPI","product":"webob","name":"webob","label":"webob","ecosystem":"PyPI","cpePart":null,"purl":"pkg:pypi/webob","purlType":"pypi","versions":[{"text":"< 1.8.11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.8.11","eol":null,"hubHref":null},{"vendor":"opensuse","product":"python-WebOb&distro=openSUSE Tumbleweed","name":"python-WebOb","label":"python-WebOb&distro=openSUSE Tumbleweed","ecosystem":"openSUSE","cpePart":null,"purl":"pkg:rpm/opensuse/python-WebOb&distro=openSUSE Tumbleweed","purlType":"rpm","versions":[{"text":"< 1.8.11-1.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.8.11-1.1","eol":null,"hubHref":null},{"vendor":"suse","product":"python-WebOb&distro=SUSE Linux Enterprise Module for Public Cloud 12","name":"python-WebOb","label":"python-WebOb&distro=SUSE Linux Enterprise Module for Public Cloud 12","ecosystem":"SUSE Linux Enterprise","cpePart":null,"purl":"pkg:rpm/suse/python-WebOb&distro=SUSE Linux Enterprise Module for Public Cloud 12","purlType":"rpm","versions":[{"text":"< 1.2.3-3.6.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.2.3-3.6.1","eol":null,"hubHref":null}],"affectedCount":36,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/Pylons/webob/security/advisories/GHSA-6hx8-3wjj-gr8g","label":"github.com/Pylons/webob/security/advisories/GHSA-6hx8-3wjj-gr8g","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","REPORT","Advisory"]},{"url":"https://github.com/Pylons/webob/commit/ff89560643fb252751b4db8806a283b5377f1f07","label":"github.com/Pylons/webob/commit/ff89560643fb252751b4db8806a283b5377f1f07","hostname":"github.com","tags":["X Refsource MISC","WEB","FIX"]},{"url":"https://github.com/Pylons/webob/tree/1.8.11","label":"github.com/Pylons/webob/tree/1.8.11","hostname":"github.com","tags":["X Refsource MISC","WEB"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20264351-1/","label":"www.suse.com/support/update/announcement/2026/suse-su-20264351-1/","hostname":"www.suse.com","tags":["Advisory"]},{"url":"https://bugzilla.suse.com/1275917","label":"bugzilla.suse.com/1275917","hostname":"bugzilla.suse.com","tags":["REPORT"]},{"url":"https://www.suse.com/security/cve/CVE-2026-54770","label":"www.suse.com/security/cve/CVE-2026-54770","hostname":"www.suse.com","tags":["WEB"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54770","label":"nvd.nist.gov/vuln/detail/CVE-2026-54770","hostname":"nvd.nist.gov","tags":["Advisory","Oval"]},{"url":"https://github.com/Pylons/webob","label":"github.com/Pylons/webob","hostname":"github.com","tags":["PACKAGE"]},{"url":"https://pypi.org/project/webob","label":"pypi.org/project/webob","hostname":"pypi.org","tags":["PACKAGE"]},{"url":"https://github.com/advisories/GHSA-6hx8-3wjj-gr8g","label":"github.com/advisories/GHSA-6hx8-3wjj-gr8g","hostname":"github.com","tags":["Advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-54770","label":"ubuntu.com/security/CVE-2026-54770","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-54770","label":"www.cve.org/CVERecord?id=CVE-2026-54770","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-54770","label":"security-tracker.debian.org/tracker/CVE-2026-54770","hostname":"security-tracker.debian.org","tags":["Advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54770.json","label":"github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54770.json","hostname":"github.com","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":["CGA-M5JC-V6C9-CR77"]},"timeline":[{"kind":"published","date":"2026-08-20T16:31:46.791Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-25T15:04:18.917Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":24,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T14:47:48.170Z","stale":false,"partial":false}}