Closed Bug 1618915 Opened 6 years ago Closed 6 years ago

nss:tls-server: Undefined-shift in ssl_ParseSessionTicket

Categories

(NSS :: Libraries, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kjacobs, Assigned: kjacobs)

Details

(Keywords: sec-other, Whiteboard: [Disclosure: 2020-05-28])

Attachments

(1 file)

oss-fuzz has reported a new issue:

../../lib/ssl/ssl3exthandle.c:1037:44: runtime error: left shift of 4280295456 by 32 places cannot be represented in type 'PRTime' (aka 'long')
	    #0 0x4e1741 in ssl_ParseSessionTicket nss/out/Debug/../../lib/ssl/ssl3exthandle.c:1037:44
	    #1 0x4e0ad9 in ssl3_ProcessSessionTicketCommon nss/out/Debug/../../lib/ssl/ssl3exthandle.c:1232:10
	    #2 0x4a42a4 in tls13_ServerHandlePreSharedKeyXtn nss/out/Debug/../../lib/ssl/tls13exthandle.c:539:18
	    #3 0x4dc745 in ssl_CallExtensionHandler nss/out/Debug/../../lib/ssl/ssl3ext.c:424:22
	    #4 0x4dc3f1 in ssl3_HandleParsedExtensions nss/out/Debug/../../lib/ssl/ssl3ext.c:552:14
	    #5 0x4c8a2b in ssl3_HandleClientHello nss/out/Debug/../../lib/ssl/ssl3con.c:8770:10
	    #6 0x4c7c7b in ssl3_HandleHandshakeMessage nss/out/Debug/../../lib/ssl/ssl3con.c:12084:18
	    #7 0x4cb8e2 in ssl3_HandleHandshake nss/out/Debug/../../lib/ssl/ssl3con.c:12303:22
	    #8 0x4ca766 in ssl3_HandleNonApplicationData nss/out/Debug/../../lib/ssl/ssl3con.c:12789:22
	    #9 0x4e4605 in ssl3_GatherCompleteHandshake nss/out/Debug/../../lib/ssl/ssl3gthr.c:523:18

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20936

Regression window points to TLS 1.3 enablement: https://hg.mozilla.org/projects/nss/log?rev=7f17b911ac990a16d9bbe9edea0b52cbaa3642e2%3A%3Abc77cf318f388f55790b99d5f23a9c1f2bd9f900&revcount=10000

Reported: 2020-02-28
Disclosure: 2020-05-28

Flags: needinfo?(kjacobs.bugzilla)

What sort of security rating should this get? I assume that "tls-server" probably doesn't affect Firefox, just other NSS clients?

Whiteboard: [Disclosure: 2020-05-28]

I don't see any security impact from this one.. If the sign-bit is actually set (which it never should be, except for the fuzzer case), most compilers will still handle it correctly, AFIAK.

The note in bug 1618739 applies here too - this would be a server actually generating a session ticket timestamped to some pre-1970 date in order to trigger the behavior.

Assignee: nobody → kjacobs.bugzilla
Status: NEW → ASSIGNED
Flags: needinfo?(kjacobs.bugzilla)
Keywords: sec-other
Priority: -- → P1
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
Target Milestone: --- → 3.52
Resolution: INVALID → FIXED
Group: crypto-core-security → core-security-release
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: