| title | Security |
|---|---|
| description | What PIrateRF exposes on its WiFi network: no authentication, file rename and delete on any path as root, public default passwords and a self-signed certificate. |
| nav_order | 10 |
PIrateRF is a toy for a network you control. Anyone who can join its WiFi network can use everything it offers, and that is more than transmitting. Know this before you take it somewhere other people are.
- Use every route and event. No HTTP route and no WebSocket event checks who is calling. Anyone on the network can start and stop transmissions, upload files and manage presets.
- Rename or delete any file on the Pi.
file.renameandfile.deletetake a full filesystem path and do not restrict it to the files directory. The service runs as root (User=rootin the systemd unitscripts/install.shinstalls), so this covers the whole system. - Write preset files outside the presets directory. Preset module and preset names are joined into a path without checks, so a crafted name can point the
.jsonfile elsewhere. - Reach it from another site. The CORS middleware allows any origin, so a web page open on a connected device can call the HTTP routes.
- The WiFi password, SSH user and SSH password in
scripts/pi_config.shand in the pre-built image are public. Change them; see Configuration. - HTTPS uses a self-signed certificate generated on the Pi, so browsers warn and cannot tell a real PIrateRF from an impostor. Plain HTTP stays open on port 80.
Run it on its own access point, as make pi sets it up, and only let people you trust join that network. Do not bridge it to a network you care about.