Replies: 3 comments 2 replies
-
Per your example, portainer, the same data is transmitted by accessing portainer via the web, this is literally no different. All data is transmitted proxied, meaning from the source API to the homepage server securely (though specifics depend a little on setup), from there it is up to the user how to serve the client. If the client is being accessed via https, which is pretty standard these days for serving things publicly, all traffic is encrypted. I dont see this as a vulnerability. That said, the idea of filtering out data to improve things is fine with me as a 'feature request'. |
Beta Was this translation helpful? Give feedback.
-
This discussion has been automatically closed due to inactivity. See our contributing guidelines for more details. |
Beta Was this translation helpful? Give feedback.
-
This discussion has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion for related concerns. See our contributing guidelines for more details. |
Beta Was this translation helpful? Give feedback.
-
Introduction to the Security Issue
I have identified a significant security issue within the server's data transmission process to client browsers, especially concerning the widget functionalities. This issue arises from transmitting excess data beyond what is necessary, posing potential security risks. Importantly, these risks are relevant not only in scenarios where the homepage is accessible over the web but also in local environments. While localhost attacks may be less prevalent, they are feasible and could exploit such vulnerabilities. Therefore, it's crucial to address this excessive data transmission to mitigate security risks in all usage contexts.
Specific Example: Portainer Widget
For instance, in the Portainer widget, the requirement is to display counts of running, stopped, and total containers. However, the data sent from the server includes extensive details about each container, such as IDs, labels, mountpoints, and published ports. This goes beyond what's needed for the widget's functionality and inadvertently increases the risk of unnecessary data exposure on a local network.
Security Implications
Proposed Solution
I suggest implementing a data filtering mechanism at the server level, which would ensure that only the data necessary for each widget’s display is sent to the client.
Anticipated Impact
By adopting this solution, I anticipate a significant improvement in the security posture of the system by minimizing data exposure. It will also lead to more efficient bandwidth usage.
Steps to reproduce
N/A
homepage version
v0.8.3
Installation method
Docker
Configuration
No response
Container Logs
No response
Browser Logs
No response
Troubleshooting
N/A
Other
No response
Before submitting, I have made sure to
Beta Was this translation helpful? Give feedback.
All reactions