Red Hat Bugzilla – Bug 1258700
CVE-2015-5246 Foreman: previous password still allowed to log into foreman with Active Directory backend
Last modified: 2016-04-26 12:24:33 EDT
larry campbell reports via the foreman bug tracker:
This was found on Foreman 1.9.0:
I came across this issue by chance. I was forced to change my Active Directory password today. After doing so, I then (mistakenly) attempted to log onto Foreman with my previous password and was able to successfully log in. The new password also worked. I tried with other browsers and even another workstation that I had never logged onto and all attempts allowed me to log on with my non-valid previous password. Perhaps something on foreman/passenger/ruby/etc is caching my credential and not re-checking?
Have an Active Directory enviornment available for LDAP Authentication. Setup LDAP Authentication Source in Foreman and have a test user account created in Active Directory.
Steps to recreate:
1. Log on to Foreman with the Active Directory user. This should succeed. Log off.
2. Change your Active Directory account's password.
3. Log on to Foreman with the Active Directory user, and use the previous password. This should fail with authentication denied method, however it succeeds.
If I remember correctly I ran into this back in the past - this is a feature in Active Directory. It remembers the old password for some time to allow you to log back in should you mess up your new password. I think there`s some timeout, maybe 5 minutes? after which the old password won`t be usable.
If Foreman delegates authentication to Active Directory, this is how it`ll look like. However, since authentication is delegated to Active Directory this cannot be a vulnerability in Foreman.
Googled a bit and the timeout is 1 hour.