Open
Bug 923282
Opened 13 years ago
Updated 2 years ago
CERT_PKIXVerifyCert does not return SEC_ERROR_UNTRUSTED_ISSUER or report it in the verify log when other errors are encountered
Categories
(NSS :: Libraries, defect, P5)
NSS
Libraries
Tracking
(Not tracked)
NEW
People
(Reporter: briansmith, Unassigned)
Details
Attachments
(1 file)
|
2.55 KB,
patch
|
Details | Diff | Splinter Review |
See the attached patch, which attempts to add add test to verify that our active distrust records for DigiNotar cause NSS to report the distrust when we verify it. The test fails because CERT_PKIXVerifyCert returns the wrong error code
vfychain -pp -vv -u 1 /c/p/nss/nss/tests/libpkix/certs/distrusted/DigiNotar-google.com-wildcard.cert
Chain is bad!:
ERROR SEC_ERROR_EXPIRED_CERTIFICATE (-8181): Peer's Certificate has expired.
PROBLEM WITH THE CERT CHAIN:
CERT 0. admin@google.com :
Email Address(es): admin@google.com
ERROR SEC_ERROR_EXPIRED_CERTIFICATE (-8181): Peer's Certificate has expired.
Returned value is 1, expected result is distrusted
CERT_PKIXVerifyCert should return SEC_ERROR_UNTRUSTED_ISSUER in this case. Further, it should include one of those error codes in the error log.
I modified chains.sh to cause it to not pass the "-pp" flag to vfychain, to see if CERT_VerifyCertificate has the same problem. It does and I will report the result in a separate bug as I suspect that the fix will be different.
| Reporter | ||
Comment 1•13 years ago
|
||
Actually, I just realized that this test case may be invalid. The issuer of the cert in the test case is "E=info@diginotar.nl,CN=DigiNotar Public CA 2025,O=DigiNotar,C=NL" which is apparently an intermediate certificate. In Firefox, we have special code to block this intermediate because it contains the string "DigiNotar," but NSS does not have an active distrust record for the intermediate. Presumably, the root that issued that intermediate is distrusted in NSS instead. So, for the test case to be valid, we would need to have the test case indicate that the "DigiNotar Public CA 2025" intermediate should be loaded along with the intermediate. That means I need to hunt down a copy of the "DigiNotar Public CA 2025" intermediate for the test.
Also, this demonstrates that this isn't a high-urgency bug. An attacker can decide if he'd rather have users get the SEC_ERROR_UNKNOWN_ISSUER error instead of the SEC_ERROR_UNTRUSTED_ISSUER by simply omitting the intermediate in his certificate chain.
However, I do think that CERT_PKIXVerifyCert should return SEC_ERROR_UNKNOWN_ISSUER in this case, or at least include it in the verify log.
Updated•4 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Severity: S3 → S4
Priority: -- → P5
You need to log in
before you can comment on or make changes to this bug.
Description
•