Red Hat Bugzilla – Bug 738693
user is not prompted to enter current password when changing to a new password
Last modified: 2015-01-04 18:51:13 EST
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): ipa-server-2.0.0-23.el6_1.2.x86_64 ipa-client-2.0.0-23.el6_1.2.x86_64 How reproducible: always 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: ipa passwd Actual results: This prompts user1 to enter new password. Expected results: 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. Additional info: 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
Upstream ticket: https://fedorahosted.org/freeipa/ticket/1808
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: master: c981627016e0d3c0002214c1d2cc0812a480339a ipa-2-1: a7b6a6e49857a4115170fdea41fe2e1f0300f66c
Ticket 1808 fixed upstream: master: https://fedorahosted.org/freeipa/changeset/bd227b356280f54f48bc01901275833a51f87fd7 ipa-2-1: https://fedorahosted.org/freeipa/changeset/844d4ff8bfb933ad8121d32343ae8418a79839cd
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. New Contents: 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 Current Password: New Password: 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. http://rhn.redhat.com/errata/RHSA-2011-1533.html