-
-
Notifications
You must be signed in to change notification settings - Fork 801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PIO Home server security model #3397
Comments
Thanks for the report. We will generate a secure token on a server side and use it for clients. |
@ivankravets the token provides a basic form of authentication/authorization but cannot not provide any protection to the user's home directory from a platformio instance that is running untrusted code or has been otherwise compromised. |
Have you tried the latest development version? The upcoming PlatformIO IDE 2.1 will use a unique session ID for each session. So, you will not be able to connect to the existing session. |
Yes, hence my answer. The unique session ID provides only authentication/authorization and is besides the point of sandboxing. PlatformIO downloads and executes a lot of code and tools and communicates with many devices, leading to large attack surface. |
So, this is a different story. In this case, you can use Docker or similar virtualization platforms and connect your hardware to them. We agree, we had a security issue with PIO Home but it is now resolved. |
Configuration
Operating system: any
PlatformIO Version: any
Description of problem
Initially described in: https://community.platformio.org/t/pio-home-security-issue/12196
When
platformio home
is run by a user, PIO has unlimited access to the user's home directory.PIO home on
http://127.0.0.1:8008
exposes the home contents:Suggested mitigations
On Linux the process can be sandboxed by either:
The sandboxing is meant to limit which paths the process (and its children) can read and write from.
EDIT: I'm happy to contribute the systemd sandboxing if needed.
The text was updated successfully, but these errors were encountered: