Closed Bug 576984 Opened 14 years ago Closed 3 years ago

libssl: When decompressing, ssl3_HandleRecord doesn't zero-out plaintext buffer before freeing it

Categories

(NSS :: Libraries, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: briansmith, Unassigned)

References

(Depends on 1 open bug)

Details

AFAICT, every buffer in libssl that may contain plaintext application data is supposed to be zeroed out. However, the temporary buffer used for decompression isn't zeroed out in ssl_HandleRecord. The fix is to change the PORT_Free(plaintext->buf) to PORT_ZFree(plaintext->buf) everywhere in ssl3_HandleRecord.
The patch for bug 576902 contains a fix for this bug.
Depends on: 576902

As of TLS 1.3 compression is removed[RFC8446, Section 1.2] and also not supported by the NSS implementation.

Generally the gather plaintext buffer is allocated and freed on the ssl socket creation and destruction, more specifically by calls to ssl3gthr.c - ssl3_InitGather() and ssl3_DestroyGather(). The buffer is zeroed-out at freeing.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.