Oracle Database provides OCIPasswordChange API to change user passwords.
This API can be used while a user is logged on as well as before the
authentication process is completed, this is because it can be used for
accounts that have the password expired so that the user is able to
change an expired password for a new one.
It was observed that this API can be used to change the password of
users that are locked.  The purpose of locking an account is to
deactivate it once it has received too many failed logins attempts or
when no login is expected.  If it is allowed to change the password of a
locked account it is not correctly protecting it because brute force can
be applied on an account to change its password and eventually it will
get changed to a known password. The attacker will be able to log in
using the account only once it is unlocked.
Category: DataBase Security