tstclnt crashes when accessing gnutls server without a user cert in the database.
Categories
(NSS :: Libraries, defect, P5)
Tracking
(Not tracked)
People
(Reporter: rrelyea, Assigned: rrelyea)
Details
(Whiteboard: [nss-nofx])
Attachments
(2 files)
912 bytes,
patch
|
Details | Diff | Splinter Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
The patch for bug 1552254 contains an error where we check for a empty list, but the list is NULL. This can happen if the server requests a client auth cert, but the client has no certs in it's database. The crash happens in the default auth cert handler, which firefox overrides, so firefox does not have this issue, but other client applications (like tstclient) can crash. I'm including the upstream patch. I'll attach a phabricator patch shortly.
Assignee | ||
Updated•2 years ago
|
Updated•1 year ago
|
Comment 1•1 year ago
|
||
Trivy reports a high CVE-2022-3479 for this.
Comment 2•1 year ago
|
||
Even though the target milestone is tagged to 3.81, I don't see this fix even on 3.84. It would also be great to have an ESR release with this in, if possible. From a quick glance the codebase looks to match.
Comment 3•1 year ago
|
||
What is the plan to get this fixed?
Updated•1 year ago
|
Comment 4•1 year ago
|
||
Bob can you submit your patch through phab? FWIW, I think the null check needs to be immediately after CERT_FindUserCertsByUsage
, or we can crash in CERT_FilterCertListByCANames
in the !chosenNickName
case. Probably CERT_FilterCertListByCANames
should also have a null check.
Assignee | ||
Comment 5•1 year ago
|
||
john, You are correct. The patch attached to this bug is old and incomplete. I have a better patch I'll push to fabricator.
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 6•1 year ago
|
||
The filter functions do not handle NULL CERTCertLists, but CERT_FindUserCertsByUsage can return a NULL cert list. If it returns a NULL list, we should just
fail at the point (there are no certs available).
Comment 7•1 year ago
|
||
Assignee | ||
Comment 9•11 months ago
|
||
It doesn't need to be. It doesn't affect Firefox. The code in question is a default get UserCert handler which isn't used by Firefox.
Comment 10•11 months ago
|
||
The patch applies cleanly to ESR. We've patched the version ourselves now, so we're fine.
But I think in principle, NSS ESR is also supported standalone? Therefore it should also get all security fixes that don't affect Firefox.
Description
•