fix: sanitize URLs used for OAuth auth flow (via #5190)

* fix: sanitize URLs used for OAuth auth flow

* embetter test case

* fix linter issue
This commit is contained in:
kyle
2019-02-23 14:14:30 -08:00
committed by GitHub
parent d9f460f4a8
commit 1e184e8e21
3 changed files with 32 additions and 3 deletions

View File

@@ -0,0 +1,5 @@
swagger: '2.0'
securityDefinitions:
a:
type: oauth2
authorizationUrl: javascript:alert(document.domain)//

View File

@@ -0,0 +1,23 @@
describe("XSS: OAuth2 authorizationUrl sanitization", () => {
it("should filter out a javascript URL", () => {
cy.visit("/?url=/documents/xss/oauth2.yaml")
.window()
.then(win => {
let args = null
const stub = cy.stub(win, "open", (...callArgs) => {
args = callArgs
}).as("windowOpen")
cy.get(".authorize")
.click()
.get(".modal-btn.authorize")
.click()
.wait(100)
.then(() => {
console.log(args)
expect(args[0]).to.match(/^about:blank/)
})
})
})
})