{"id":"CVE-2019-17495","aliases":["CLSA-2026-1785468079","EUVD-2019-0696","GHSA-c427-hjc3-wrfw","GHSA-qrmm-w75w-3wpx"],"status":"published","title":"Cross-site scripting in Swagger-UI","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.05734,"percentile":0.93103,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-352","CWE-79"],"published":"2019-10-10T21:04:49Z","modified":"2026-10-24T10:47:42Z","exploits":[{"source":"pocgithub","id":"SecT0uch/CVE-2019-17495-test","title":"SecT0uch/CVE-2019-17495-test","date":"2019-12-24","url":"https://github.com/SecT0uch/CVE-2019-17495-test"}],"fixes":[{"ecosystem":"npm","package":"swagger-ui","fixed_in":["3.23.11"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.webjars:swagger-ui","fixed_in":["3.23.11"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.webjars.npm:swagger-ui","fixed_in":["3.23.11"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"io.springfox:springfox-swagger-ui","fixed_in":["2.10.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.webjars:swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.webjars.npm:swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"io.springfox:springfox-swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.10.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.10-tuxcare.0"},{"fixed":"2.2.10-tuxcare.1"}]}],"versions":["2.2.10"],"bundled":2},{"source":"osv","ecosystem":"npm","package":"swagger-ui","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.webjars:swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}],"versions":["2.0.12","2.0.14","2.0.14-1","2.0.17","2.0.18","2.0.21","2.0.22","2.0.24","2.1.0","2.1.0-M1","2.1.0-alpha.6","2.1.1","2.1.2","2.1.3","2.1.4","2.1.5","2.1.8-M1","2.2.0","2.2.10","2.2.10-1","2.2.2","2.2.5","2.2.6","2.2.8","3.0.10","3.0.14","3.0.17","3.0.18","3.0.19","3.0.2","3.0.20","3.0.21","3.0.3","3.0.4","3.0.5","3.0.7","3.0.8","3.1.2","3.1.4","3.1.5","3.1.6","3.1.7","3.10.0","3.11.0","3.12.0","3.12.1","3.13.0","3.13.1","3.13.2","3.13.3","3.13.4","3.13.6","3.14.0","3.14.2","3.17.0","3.17.1","3.17.2","3.17.3","3.17.4","3.17.6","3.18.1","3.18.2","3.19.0","3.19.4","3.19.5","3.2.0","3.2.2","3.20.0","3.20.1","3.20.2","3.20.3","3.20.5","3.20.8","3.20.9","3.22.0","3.22.1","3.22.2","3.23.0","3.23.2","3.23.4","3.23.5","3.23.8","3.4.4","3.5.0","3.6.1","3.7.0","3.8.0","3.9.0","3.9.1","3.9.2","3.9.3"]},{"source":"osv","ecosystem":"Maven","package":"org.webjars.npm:swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.23.11"}]}],"versions":["2.1.3","2.1.4","2.1.5","2.2.0","2.2.10","2.2.8","3.0.12","3.0.14","3.0.17","3.0.18","3.0.2","3.0.20","3.0.6","3.1.4","3.1.6","3.1.7","3.10.0","3.12.0","3.17.0","3.17.6","3.18.1","3.19.0","3.19.1","3.19.4","3.20.6","3.20.7","3.22.0","3.22.1","3.22.2","3.22.3","3.23.1","3.23.10","3.23.2","3.23.3","3.23.4","3.23.5","3.3.1","3.4.1","3.6.1","3.9.3"]},{"source":"osv","ecosystem":"Maven","package":"io.springfox:springfox-swagger-ui","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.10.0"}]}],"versions":["2.0.1","2.0.2","2.0.3","2.1.0","2.1.1","2.1.2","2.2.2","2.3.0","2.3.1","2.4.0","2.5.0","2.6.0","2.6.1","2.7.0","2.8.0","2.9.1","2.9.2"]}],"products":[{"vendor":"oracle","product":"banking_apis"},{"vendor":"oracle","product":"banking_digital_experience"},{"vendor":"oracle","product":"banking_platform"},{"vendor":"oracle","product":"primavera_gateway"},{"vendor":"oracle","product":"utilities_framework"},{"vendor":"smartbear","product":"swagger_ui"}],"references":[{"url":"https://www.oracle.com/security-alerts/cpuoct2020.html","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/tarantula-team/CSS-injection-in-Swagger-UI","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web"]},{"url":"https://github.com/swagger-api/swagger-ui/releases/tag/v3.23.11","tags":["x_refsource_MISC","x_transferred","Release Notes","advisory","web"]},{"url":"https://www.oracle.com/security-alerts/cpuApr2021.html","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://lists.apache.org/thread.html/r3acb7e494cf1aab99b6784b7c5bbddfd0d4f8a484ab534c3a61ef9cf%40%3Ccommits.airflow.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://lists.apache.org/thread.html/r103579b01da2d0aa0f672b88f811224bbf8ef493aaad845895955e91%40%3Ccommits.airflow.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://lists.apache.org/thread.html/ref70b940c4f69560d29d6ba792d6c82865e74de3dcad4c92d99b1f8f%40%3Ccommits.airflow.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://lists.apache.org/thread.html/r853ffeb915a400f899de78124d4e0d77a19379d2e11bf8f4e98c624f%40%3Ccommits.airflow.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://lists.apache.org/thread.html/r84b327f7a8b6b28857b906c07a66dd98e1d341191fa8d7816514ef96%40%3Ccommits.airflow.apache.org%3E","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://www.oracle.com/security-alerts/cpujan2022.html","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://www.oracle.com/security-alerts/cpujul2022.html","tags":["x_refsource_MISC","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-17495","tags":["advisory"]},{"url":"https://lists.apache.org/thread.html/r103579b01da2d0aa0f672b88f811224bbf8ef493aaad845895955e91@%3Ccommits.airflow.apache.org%3E","tags":["web"]},{"url":"https://lists.apache.org/thread.html/r3acb7e494cf1aab99b6784b7c5bbddfd0d4f8a484ab534c3a61ef9cf@%3Ccommits.airflow.apache.org%3E","tags":["web"]},{"url":"https://lists.apache.org/thread.html/r84b327f7a8b6b28857b906c07a66dd98e1d341191fa8d7816514ef96@%3Ccommits.airflow.apache.org%3E","tags":["web"]},{"url":"https://lists.apache.org/thread.html/r853ffeb915a400f899de78124d4e0d77a19379d2e11bf8f4e98c624f@%3Ccommits.airflow.apache.org%3E","tags":["web"]},{"url":"https://lists.apache.org/thread.html/ref70b940c4f69560d29d6ba792d6c82865e74de3dcad4c92d99b1f8f@%3Ccommits.airflow.apache.org%3E","tags":["web"]},{"url":"https://github.com/springfox/springfox/commit/26f72f0d16b166e12c20255a4ee907dc10685cf8","tags":["web"]},{"url":"https://security.snyk.io/vuln/maven?search=CVE-2019-17495","tags":["web"]},{"url":"https://github.com/advisories/GHSA-c427-hjc3-wrfw"},{"url":"https://github.com/swagger-api/swagger-ui","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2019-17495","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-10T21:04:49Z","modified":"2024-08-05T01:40:15.904Z","updated_at":"2026-11-02T14:20:24.678649Z"}],"euvd":[{"id":"EUVD-2019-0696","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-10T21:04:49Z","modified":"2024-08-05T01:40:15Z","updated_at":"2026-11-03T02:40:30.328063Z"}],"ghsa":[{"id":"GHSA-c427-hjc3-wrfw","title":"Cross-site scripting in Swagger-UI","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-15T19:27:05Z","modified":"2024-08-26T15:52:59Z","cvss":[{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-79","CWE-352"],"updated_at":"2026-11-02T14:38:00.257632Z"}],"nvd":[{"id":"CVE-2019-17495","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-10T22:15:10.29Z","modified":"2026-06-17T02:24:00.037Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-352"],"updated_at":"2026-11-02T14:05:31.019577Z"}],"osv":[{"id":"CVE-2019-17495","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-10T22:15:10.29Z","modified":"2026-10-24T10:47:42.498678331Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:11.673963Z"},{"id":"GHSA-c427-hjc3-wrfw","title":"Cross-site scripting in Swagger-UI","description":"A Cascading Style Sheets (CSS) injection vulnerability in Swagger UI before 3.23.11 allows attackers to use the Relative Path Overwrite (RPO) technique to perform CSS-based input field value exfiltration, such as exfiltration of a CSRF token value. In other words, this product intentionally allows the embedding of untrusted JSON data from remote servers, but it was not previously known that \u003cstyle\u003e@import within the JSON data was a functional attack method.","status":"published","published":"2019-10-15T19:27:05Z","modified":"2024-08-26T16:00:45.091934Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"},{"version":"4.0","score":9.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"critical"}],"cwes":["CWE-352","CWE-79"],"updated_at":"2026-11-02T15:46:44.571161Z"},{"id":"CLSA-2026-1785468079","title":"TuxCare security update for swagger-ui (3 CVEs)","description":"TuxCare rebuilt swagger-ui to address 3 CVEs. Fixed in 2.2.10-tuxcare.1.","status":"published","published":"2026-08-04T14:52:51Z","modified":"2026-10-15T09:45:58.21695549Z","updated_at":"2026-11-02T15:43:46.850893Z"}]}}
