-
Notifications
You must be signed in to change notification settings - Fork 60
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Gone from Semrush too soon, I'm back again with some bugs! I was testing out some new tools and needed a codebase to test it against, and today's semrush's lucky day
-
-- misses
intergalactic/website/server/main.js
Lines 13 to 15 in ad97ee8
app.get('*', function (req, res) { res.status(404); }); res.send()orres.end()in the 404 catchall. alsores.send('pong')in the pong endpoint does something, but everything after that does nothing (can't send a response header after content in http) -
and
intergalactic/website/docs/.vitepress/renderIframe.ts
Lines 11 to 18 in ad97ee8
return ` <iframe src="${url}" class="embedded-documentation-iframe" title='documentation' height="${height}" /> `; are vulnerable to XSS. sanitize inputs (url, title, height) and useintergalactic/website/docs/.vitepress/renderLoomVideo.ts
Lines 5 to 9 in ad97ee8
const title = token.info.replace('loom_video', '').trim() || 'video'; const url = tokens[idx + 2].content; return `<div class="embedded-video-container"><iframe src='${url}' frameborder='0' webkitAllowFullScreen mozAllowFullScreen allowFullScreen class="embedded-video-iframe" title='${title}'>`; } new URLwith further sanitization (https://github.com/MegaManSec/Security-Solutions/blob/main/Domain-Validation.md may be helpful) -
intergalactic/website/docs/.vitepress/theme/amplitude/amplitude-client.ts
Lines 172 to 187 in ad97ee8
return { platform: `${systemInfo.platform.vendor} ${systemInfo.platform.type}`, os_name: systemInfo.browser.name, os_version: systemInfo.browser.version, device_brand: systemInfo.os.name, device_manufacturer: systemInfo.os.versionName, device_model: '', country: Intl.DateTimeFormat().resolvedOptions().timeZone, language, user_properties: { ['$set']: { OS: `${systemInfo.os.name} ${systemInfo.os.versionName} v${systemInfo.os.version}`, platform: `${systemInfo.platform.vendor} ${systemInfo.platform.type}`, language, screen: `${width} x ${height}`, }, os_name: systemInfo.browser.name,is (probably not deliberately) wrong --os.nameseems more realistic. the others are wrong too; check https://www.npmjs.com/package/bowser -
should be
if (!deviceId && !sessionId) { || -
that data doesn't look like json to me
method: 'POST', headers: { Accept: 'application/json', }, body: `api_key=${apiKey}&identification=${encodeURIComponent(identification)}`, }) -
-- excellent way to leak api keys from GET parameters
this.logEvent('init_app', { event_properties: { theme, pathname, referrer: document.referrer }, }); -
probably XSS here, not sure what this is actually used for, but svgs can contain javascript
document.body.innerHTML = svg;
like and subscribe for more
kukuxumushi
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working