Skip to content

Commit 2294ea4

Browse files
Validate cookie protocol and header names
1 parent 95cdc79 commit 2294ea4

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

src/background/index.mjs

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,13 @@ Browser.runtime.onMessage.addListener(async (message, sender) => {
750750
console.warn('[background] Rejecting GET_COOKIE with invalid URL:', cookieUrlInput)
751751
return null
752752
}
753+
if (cookieUrl.protocol !== 'http:' && cookieUrl.protocol !== 'https:') {
754+
console.warn(
755+
'[background] Rejecting GET_COOKIE with disallowed protocol:',
756+
cookieUrl.protocol,
757+
)
758+
return null
759+
}
753760

754761
const cookieName = cookieNameInput.trim()
755762
console.debug('[background] Processing GET_COOKIE message for:', cookieUrl.href)
@@ -847,15 +854,16 @@ try {
847854
const headers = details.requestHeaders
848855
let modified = false
849856
for (let i = 0; i < headers.length; i++) {
850-
if (!headers[i]) {
857+
const header = headers[i]
858+
if (!header || !header.name) {
851859
continue
852860
}
853-
const headerNameLower = headers[i].name?.toLowerCase()
861+
const headerNameLower = header.name.toLowerCase()
854862
if (headerNameLower === 'origin') {
855-
headers[i].value = 'https://www.bing.com'
863+
header.value = 'https://www.bing.com'
856864
modified = true
857865
} else if (headerNameLower === 'referer') {
858-
headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
866+
header.value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
859867
modified = true
860868
}
861869
}
@@ -883,11 +891,15 @@ try {
883891
(details) => {
884892
const headers = details.requestHeaders
885893
for (let i = 0; i < headers.length; i++) {
886-
const headerNameLower = headers[i]?.name?.toLowerCase()
894+
const header = headers[i]
895+
if (!header || !header.name) {
896+
continue
897+
}
898+
const headerNameLower = header.name.toLowerCase()
887899
if (headerNameLower === 'origin') {
888-
headers[i].value = 'https://claude.ai'
900+
header.value = 'https://claude.ai'
889901
} else if (headerNameLower === 'referer') {
890-
headers[i].value = 'https://claude.ai'
902+
header.value = 'https://claude.ai'
891903
}
892904
}
893905
return { requestHeaders: headers }

0 commit comments

Comments
 (0)