Synopsis
When using System i Navigator (part of IBM iAccess For Windows Tools), it's been observed that both Windows and IBM iSeries passwords are saved in HKEY_USERS\<SID>\Software\IBM\Client Access Express\CurrentVersion\Volatile\Communication\Time Stamps\<HOST>\<USER_ID>\Function Admin Timestamp, where <SID> is the Windows user using the Navigator, <HOST> is the host for which the password is saved, and <USER_ID> is the user ID associated with the saved password. The saved credentials can be used by System i Navigator to access iSeries hosts without prompting for a user's credential. The saved password is encoded with a simple, XOR-based encoding algorithm and it can be decoded using some known values as the key. The vulnerability lies in the fact that any Windows user with administrative privilege can access iSeries/Windows credentials saved in the registry by any other Windows users, even if that administrative Windows user is not necessarily authorized to access the iSeries host, nor is allowed to access other Windows users' passwords.
A typical scenario:
- A domain user with administrative privileges (i.e., Domain Admins) logs in his workstation. Let us call this user
dadmin1. - She installs IBM i Access For Windows Tools (
IBM_iAccess_Windows_V7R1.iso) on his workstation to manage an iSeries host. - She runs System i Navigator and adds a connection to the iSeries host.
- When adding the connection, she chooses one of the following when prompted for "What user ID do you want to use to sign on to":
a) Use Windows user name and password, no prompting
b) Use default user ID, prompt as needed (this is the Windows user currently running the Navigator)
c) Prompt every time
d) Use Kerberos principal name, no prompting
- She chooses c) Prompt every time
- She signs on with the QSECOFR account and performs tasks on the iSeries host.
- Any user (domain or local) having access to the registry entries where encrypted passwords are saved on
dadmin1's workstation, can decrypt the passwords.
The following shows a local administrator is enable to see passwords of dadmin1 and QSECOFR:
Nessus was able to extract the following cached password(s) for IBM iSeries system(s) :
S-1-5-21-2071108714-1890191877-1698390088-1148
Host: .windows, UserID: dadmin1, Password: s******e
Host: ISERIES82.CYBERSQUIRREL1.COM, UserID: QSECOFR, Password: t******@
The more interesting, and scary, part of this is that IBM iAccess for Windows also acquires a copy of the user's Windows password, and stores it in the same insecure manner. This poses security risks as the local administrator may not be authorized to access the iSeries host, and should not be allowed to see a domain administrator's password.
Nessus plugin 57849 (ibmi_cached_password.nasl) can access the registry and decode the password if the scanner is given sufficient privileges to access the registry. Note that while the CVSSv2 score for this is considered 'low risk', the immediate follow-up allows for access to an additional host, possibly with administrator privileges.
Additional note:
By default, IBM iSeries has a policy limiting failed logins to three. While this can be argued to be effective in stopping brute-force login attempts, it can also be argued that number is too low, effectively allowing for a trivial DoS against the system, especially given all of the potential default credentials on the system (covered by Nessus plugin ibmi_default_password.nasl):
- 'QSYSOPR;QSYSOPR',
- 'QSECOFR;QSECOFR',
- '11111111;11111111',
- '22222222;22222222',
- 'IBM;PASSWORD',
- 'IBM;2222',
- 'IBM;SERVICE',
- 'IBM;IBM',
- 'QPGMR;QPGMR',
- 'QSECOFR;11111111',
- 'QSECOFR;22222222',
- 'QSERV;QSERV',
- 'QSRV;QSRV',
- 'QSRVBAS;QSRVBAS',
- 'QSVR;QSVR',
- 'QSVR;IBMCEL',
- 'QUSER;QUSER',
- 'SECOFR;SECOFR'
Solution
IBM has released version 7.1 – SI60523 to address this issue.
Additional References
http://www.ibm.com/systems/power/software/i/access/windows.htmlhttp://www-01.ibm.com/support/knowledgecenter/ssw_i5_54/rzamv/rzamvqmaxsign.htm?lang=hr
https://www-01.ibm.com/support/knowledgecenter/ssw_i5_54/rzamv/rzamvchangepwd.htm
http://www-01.ibm.com/support/docview.wss?uid=nas8N1021418
Disclosure Timeline
All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.
Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.
For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.
If you have questions or corrections about this advisory, please email [email protected]