T05 · Unauthorized Access and Privilege Escalation
- Location
test/src/server.js:20- Finding
Unauthenticated TV Control Service Exposed on All Network Interfaces
- Content
View full analysis
{ try { const result = await tvClient[route](); res.json({ success: true, result }); } catch (err) { res.status(500).json({ success: false, error: err.message }); } }); } // --- Generic IRCC send --- app.post('/api/sendIRCC', (req, res) => { const { code } = req.body; if (!code) { return res.status(400).json({ success: false, error: 'Missing IRCC code' }); } tvClient.sendIRCC(code) .then((result) => res.json({ success: true, result })) .catch((err) => res.status(500).json({ success: false, error: err.message })); }); app.listen(PORT, '0.0.0.0', () => { console.log(`Sony TV Remote running on http://0.0.0.0:${PORT}`); console.log(`TV: ${TV_HOST}`); }); // --- Kill/Terminate all apps on TV --- app.post('/api/kill', async (_req, res) => { try { const result = await tvClient.terminateApps(); res.json({ success: true, result }); } catch (err) { res.status(500).json({ success: false, error: err.message }); } }); ``` ### Technical Analysis The Express application binds to `0.0.0.0`, making it reachable through every configured network interface. Its privileged TV-control endpoints have no authentication, authorization, source-network restriction, CSRF defense, or rate limiting. The service consequently operates as an unauthenticated, cre ...[truncated 1335 chars]- Remediation
View remediation
