Bypassing view access control using direct link
See original GitHub issueWhen using the dash_app
template tag, the contents are rendered in an iframe. A curious user can inspect the page source and get the direct link to the Dash app directly form the iframe. The direct link might allow the user to bypass access control and other precautions built into a project. This seems to undermine the view based access control:
Each view delegated through to plotly_dash can be wrapped using a view decoration function. This enables access to be restricted to logged-in user
How can we mitigate the risk of potential abuse, particularly when dashboards may contain sensitive data?
Issue Analytics
- State:
- Created 5 years ago
- Comments:22 (21 by maintainers)
Top Results From Across the Web
A01 Broken Access Control - OWASP Top 10:2021
Bypassing access control checks by modifying the URL (parameter tampering or force browsing), internal application state, or the HTML page, or by using...
Read more >Access control vulnerabilities and privilege escalation
With vertical access controls, different types of users have access to different application functions. For example, an administrator might be able to modify...
Read more >BEGINEER'S CRASH COURSE FOR FINDING ACCESS ...
Some applications enforce access controls at the platform layer by restricting access to specific URLs and HTTP methods based on the user's role....
Read more >Failure to Restrict URL Access
Using this technique, an attacker can bypass website security by accessing files directly instead of following links. This enables the attacker to access ......
Read more >A Comprehensive Guide to Broken Access Control
Gain a better understanding of broken access control, related vulnerabilities, and security risks. Explore some real-world scenarios of ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@brylie The function supplied as the
view_decorator
should get called on every call that passes throughdjango_plotly_dash
, so you should not be able to subvert the access control by copying the link.You can verify this by doing exactly as you describe - go to an app as an authorized user, grab one of the urls (the debugging console of your browser can help you do this), and then try to access that url as an unauthorized user.
Just pulled #90 into master, which hopefully addresses this, and closing this issue. Please reopen with comments if the documentation can be improved.