Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
PEAP-MSCHAPv2: incorrect password expired message when challenge fails #1762
Comments
|
Thanks for investigating that. The patch looks good, but can you please submit as a PR. sigh Looks like the defect template needs some additional edits... |
alandekok
added a commit
that referenced
this issue
Oct 3, 2016
|
|
alandekok |
1f349fd
|
alandekok
closed this
in 63b7448
Oct 3, 2016
alandekok
added a commit
that referenced
this issue
Oct 3, 2016
|
|
alandekok |
205d26d
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
DouglasSmithLrd commentedSep 29, 2016
Issue type
Defect/Feature description
When running PEAP-MSCHAPv2, if the password challenge response from the client fails, and the password is marked as expired, the server responds incorrectly with a password expired message rather than a reattempt with a new challenge.
How to reproduce issue
Use branch origin/v3.0.x
(3.0.11 has other issues that have already been fixed preventing change password operation)
Follow instructions in freeradius documentation for setting up PEAP-MSCHAPv2 change password operation. (In my case using SQL to store the user/password database.)
Mark the password as expired in the SMB-Account-Ctrl-Text.
Try to connect a PEAP-MSCHAPv2 client using an incorrect password.
Observe that freeradius will incorrectly send a message with error 648/password expired.
Clear the password expired status in the SMB-Account-Ctrl-Text.
Try to connect a PEAP-MSCHAPv2 client using an incorrect password.
Observe that freeradius will correctly send a new challenge with error 691/authentication failure.
The issue can be fixed by the following patch, which verifies that the challenge passed before checking if the password has been marked as expired:
With the patch freeradius will correctly issue a new challenge (if the challenge response fails), and then request a new password once the challenge response succeeds.
Output of
[radiusd|freeradius] -Xshowing issue occurringIncorrect response when password challenge fails, and password is marked as expired:
Expected behavior when password challenge fails: