Description of problem:
When changing one's own password, the user should first be prompted to enter his/her current password.
This will protect the user from having anybody else change it for him/her.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Login to ipa client machine, as say user1, whose password is say, password1
2.To change password, user1 now runs the command:
This prompts user1 to enter new password.
Before prompting for new password, it should have prompted user1 to enter current password.
This will ensure that user1 is indeed the person changing his/her own password, and not somebody else.
output from server's /var/log/httpd/error.log:
[Thu Sep 15 10:27:37 2011] [error] ipa: INFO: one@TESTRELM: passwd(u'one', u'********'): DatabaseError
[Thu Sep 15 10:27:45 2011] [error] ipa: INFO: one@TESTRELM: ping(): SUCCESS
[Thu Sep 15 10:27:55 2011] [error] ipa: INFO: one@TESTRELM: passwd(u'one', u'********'): DatabaseError
The ticket was split to include changes in the 389-ds password plugin to enforce the old password as well, ticket https://fedorahosted.org/freeipa/ticket/1814
This was committed upstream as:
Ticket 1808 fixed upstream:
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Cause: When a user has a valid Kerberos ticket, he can change an IPA password with "ipa passwd" command. Unfortunately, the command does not require entering a previous password
Consequence: Anyone with access to user's shell with a valid Kerberos ticket can change his IPA password without knowing a previous password
Fix: Always require entering a valid old password when changing an own IPA password. The only exception is changing another user's password (allowed for admin user only by default). Only the new password is required in this case obviously.
Result: Malicious user who gets access to somebody else's shell with a valid Kerberos ticket cannot change an IPA password without knowing the old password. This is a more secure behavior.
Verified using ipa-client-2.1.3-8.el6.x86_64
# ipa passwd
Enter New Password again to verify:
Changed password for "two@TESTRELM"
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.