Repository navigation
Conversation
Administrative utility endpoints (/util/emailtest, /util/reload, /util/reload/:type, /util/shutdown) are exposed via HTTP GET requests without any authentication or authorization middleware
|
Declined as a specific non-goal. From the FAQ: The goal of this project is to produce a pet feeder for home use. It is explicitly not designed to be connected to the Internet, and it assumes that the end user will have the pet feeder connected to their home network, which itself is protected by a router or firewall. If you can't trust the people and devices on your home network, you have much, much larger problems. :) |
|
Thanks for the clarification. That makes sense given petfeedd’s documented threat model and intended home-network deployment. I agree that the change in this PR would unnecessarily restrict legitimate LAN access, so I’m happy to close this rather than change the project’s intended access model. The underlying finding is still relevant if the application is exposed beyond a trusted network, but I agree that this isn’t something the project needs to address as part of its current security boundary. |
Summary
Fix critical severity security issue in
src/Core/Web.js.Vulnerability
V-001src/Core/Web.js:60Description: Administrative utility endpoints (/util/emailtest, /util/reload, /util/reload/:type, /util/shutdown) are exposed via HTTP GET requests without any authentication or authorization middleware. The Web.js file shows no authentication middleware being applied to any routes, allowing any network-accessible attacker to trigger administrative operations including server shutdown.
Evidence
Exploitation scenario: An attacker with network access to the application port can directly call: curl http://target:8080/api/util/shutdown to shut down the server, or curl http://target:8080/api/util/reload to trigger a.
Scanner confirmation: multi_agent_ai rule
V-001flagged this pattern.Production code: This file is in the production codebase, not test-only code.
Threat Model Context
This is a web service - vulnerabilities in request handlers are directly exploitable by remote attackers.
Changes
src/Core/Web.jsBehavior Preservation
The change is scoped to 1 file on the vulnerable path; it only tightens handling of untrusted input and leaves valid inputs unaffected.
Automated security fix by OrbisAI Security