Skip to content

Commit 4d0860e

Browse files
Validate cookie protocol and header names
1 parent 0dbe6cc commit 4d0860e

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)
@@ -840,15 +847,16 @@ try {
840847
const headers = details.requestHeaders
841848
let modified = false
842849
for (let i = 0; i < headers.length; i++) {
843-
if (!headers[i]) {
850+
const header = headers[i]
851+
if (!header || !header.name) {
844852
continue
845853
}
846-
const headerNameLower = headers[i].name?.toLowerCase()
854+
const headerNameLower = header.name.toLowerCase()
847855
if (headerNameLower === 'origin') {
848-
headers[i].value = 'https://www.bing.com'
856+
header.value = 'https://www.bing.com'
849857
modified = true
850858
} else if (headerNameLower === 'referer') {
851-
headers[i].value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
859+
header.value = 'https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx'
852860
modified = true
853861
}
854862
}
@@ -876,11 +884,15 @@ try {
876884
(details) => {
877885
const headers = details.requestHeaders
878886
for (let i = 0; i < headers.length; i++) {
879-
const headerNameLower = headers[i]?.name?.toLowerCase()
887+
const header = headers[i]
888+
if (!header || !header.name) {
889+
continue
890+
}
891+
const headerNameLower = header.name.toLowerCase()
880892
if (headerNameLower === 'origin') {
881-
headers[i].value = 'https://claude.ai'
893+
header.value = 'https://claude.ai'
882894
} else if (headerNameLower === 'referer') {
883-
headers[i].value = 'https://claude.ai'
895+
header.value = 'https://claude.ai'
884896
}
885897
}
886898
return { requestHeaders: headers }

0 commit comments

Comments
 (0)