From 5f6ec8ce1d0e06ad20a243e1b79a6e68373ce8f5 Mon Sep 17 00:00:00 2001 From: kyle Date: Fri, 20 Sep 2019 13:19:08 -0700 Subject: [PATCH] fix: mitigate "sequential @import chaining" vulnerability (#5616) * `test/e2e-cypress/tests/features/xss/` -> `test/e2e-cypress/tests/security` * add tests * filter diff --git a/test/e2e-cypress/static/documents/security/sequential-import-chaining/swagger.yaml b/test/e2e-cypress/static/documents/security/sequential-import-chaining/swagger.yaml new file mode 100644 index 00000000..5f9cc448 --- /dev/null +++ b/test/e2e-cypress/static/documents/security/sequential-import-chaining/swagger.yaml @@ -0,0 +1,10 @@ +swagger: "2.0" + +info: + title: Sequential Import Chaining + description: > +

This h4 would be hidden by the injected CSS

+ + This document tests the ability of a ` diff --git a/test/e2e-cypress/static/documents/xss/oauth2.yaml b/test/e2e-cypress/static/documents/security/xss-oauth2.yaml similarity index 100% rename from test/e2e-cypress/static/documents/xss/oauth2.yaml rename to test/e2e-cypress/static/documents/security/xss-oauth2.yaml diff --git a/test/e2e-cypress/tests/features/xss/oauth2.js b/test/e2e-cypress/tests/security/oauth2.js similarity index 90% rename from test/e2e-cypress/tests/features/xss/oauth2.js rename to test/e2e-cypress/tests/security/oauth2.js index 3d7b727a..4d01ba3c 100644 --- a/test/e2e-cypress/tests/features/xss/oauth2.js +++ b/test/e2e-cypress/tests/security/oauth2.js @@ -1,6 +1,6 @@ describe("XSS: OAuth2 authorizationUrl sanitization", () => { it("should filter out a javascript URL", () => { - cy.visit("/?url=/documents/xss/oauth2.yaml") + cy.visit("/?url=/documents/security/xss-oauth2.yaml") .window() .then(win => { let args = null diff --git a/test/e2e-cypress/tests/security/sequential-import-chaining.js b/test/e2e-cypress/tests/security/sequential-import-chaining.js new file mode 100644 index 00000000..90887def --- /dev/null +++ b/test/e2e-cypress/tests/security/sequential-import-chaining.js @@ -0,0 +1,58 @@ +describe("Security: CSS Sequential Import Chaining", () => { + describe("in OpenAPI 3.0", () => { + describe("CSS Injection via Markdown", () => { + it("should filter