Skip to content
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

PyAuthenNTLM2 appears to incorrectly allow access to parallel directory that should be restricted #25

Open
jacp1 opened this issue Nov 30, 2015 · 1 comment

Comments

@jacp1
Copy link

jacp1 commented Nov 30, 2015

I have two parallel directories configured with access control (config below). In a web browser (IE11) as user 'aaa' I try to access a text file in testgroups2. I correctly get a 403 error. I then access a text file in directory testgroups, and correctly receive this. If I then rapidly hit the back button on the browser I can access the previously denied text file in testgroups2.

<Directory "/var/www/html/testgroups">
AuthType NTLM
AuthName XXX.COM
require user aaa, bbb
require valid-user
PythonAuthenHandler pyntlm
PythonOption Domain XXXX.COM
PythonOption PDC ldap://xxx-dc-01/DC=xxx,DC=com
PythonOption BDC ldap://xxx-dc-02/DC=xxx,DC=com
</Directory>

<Directory "/var/www/html/testgroups2">
AuthType NTLM
AuthName XXX.COM
require user ccc
require valid-user
PythonAuthenHandler pyntlm
PythonOption Domain XXXX.COM
PythonOption PDC ldap://xxx-dc-01/DC=xxx,DC=com
PythonOption BDC ldap://xxx-dc-02/DC=xxx,DC=com
</Directory>

@jacp1
Copy link
Author

jacp1 commented Nov 30, 2015

Further to this, it seems that access to the unauthorised directory is allowed if the user switches from accessing a directory for which they have been authorised to another (which they should not be allowed to see) within the KeepAlive timeout period. In other words it appears that once a TCP connection has been authorised to access one directory it is treated as being authorised to access all directories. In reality, although the connection can be treated as still being authenticated, the authorisation should be rechecked with each request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant