-
Notifications
You must be signed in to change notification settings - Fork 103
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
Invalid POST data breaks sso_login for all legitimate users of the system #1245
Comments
Our /etc/sympa/auth.conf is:
|
@dpc22, I couldn't understand why extra login buttons appeared. If possible, could you please explain? |
I infer that long running wwsympa.fcgi processes get confused by the invalid input, and start to add authentication services to an array somewhere, which is then used when the login page is rendered. I think that you will be able to replicate the effect by using the auth.conf that I list above (you don't actually need to configure a SSO service) and then run: curl -d "csrftoken=invalid&sso_login=invalid&auth_service_name=invalid&action_sso_login=invalid" -X POST https://.../sympa You might need to specify: Environment="FCGI_CHILDREN=1" (/usr/bin/spawn-fcgi -F $FCGI_CHILDREN) to make sure that you are looking at the same wwsympa.fcgi that is poked by curl. |
A bit of trial and error reveals that the problem array/hash is $param->{sso}. If I log the content of that hash in wwsympa.pl using Data::Dumper:
and run:
I see the following in my logs the next time that I try to view the login page in a browser:
|
I think that we just need to reset that value for each new HTTP request which wwsympa.pl processes? |
The following fixes the problem for me:
(corrected as there are two separate loops which populate |
@dpc22 , could you please apply this patch to check if the problem will be solved? |
Okay, that seems to have done the trick. Thanks! |
Refactoring auth.conf (1). - Fix: Invalid POST data breaks sso_login form for all users (#1245) - Fix: CAS negotiation can be messed via query parameter.
Version
6.2.66
Installation method
My own rpms, derived from official RHEL rpms
Expected behavior
Rogue actors should not be able to break sso_login for legitimate users of a Sympa system
Actual behavior
Legitimate users are unable to login using SSO following:
("Local" logins still work).
Additional information
Each new "auth_service_name=invalid" adds a new login button to Sympa:

caused by the following HTML:
A legitimate login attempt while in this broken state fails:
I infer that Sympa is confused by the additional
<input>
tags.The text was updated successfully, but these errors were encountered: