Skip to content

Commit 3657285

Browse files
authored
Merge pull request #495 from tlsfuzzer/ccs-fix
detect malformed CCS messages
2 parents b0afe1c + 85e18a3 commit 3657285

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

tlslite/messages.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1898,6 +1898,8 @@ def parse(self, p):
18981898
p.setLengthCheck(1)
18991899
self.type = p.get(1)
19001900
p.stopLengthCheck()
1901+
if p.getRemainingLength():
1902+
raise DecodeError("Multi-byte CCS message")
19011903
return self
19021904

19031905
def write(self):

unit_tests/test_tlslite_messages.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3278,6 +3278,14 @@ def test_parse(self):
32783278
self.assertIsInstance(ccs, ChangeCipherSpec)
32793279
self.assertEqual(ccs.type, 1)
32803280

3281+
def test_parse_wrong_size(self):
3282+
parser = Parser(bytearray(b'\x01\x01'))
3283+
3284+
ccs = ChangeCipherSpec()
3285+
3286+
with self.assertRaises(SyntaxError):
3287+
ccs.parse(parser)
3288+
32813289

32823290
class TestNextProtocol(unittest.TestCase):
32833291
def test___init__(self):

0 commit comments

Comments
 (0)