]> Kevux Git Server - fll/commit
Security: Missing range checks on comment processing.
authorKevin Day <Kevin@kevux.org>
Tue, 6 Aug 2024 04:17:59 +0000 (23:17 -0500)
committerKevin Day <Kevin@kevux.org>
Tue, 6 Aug 2024 04:17:59 +0000 (23:17 -0500)
commit1898cbbc7e92dfafb1e2fa3538284442e21c3879
treee5f143435b3fb8787d9526c9a9ae8975ffb5336a
parent6fcd960741559420772d6794ba450b87c367596c
Security: Missing range checks on comment processing.

This is a back port of the fixes for problem discovered in the 0.7 branch.
The 0.7 program fss_payload_read exposed this issue.
This issue affects multiple programs in the 0.6 branch.

The fss_payload_read such as the runtime test is wrong:
  # fss_payload_read -ocn payload level_3/fss_read/tests/runtime/fss_000e/source/test-0002-mixed.fss -t

The output is 1 but should instead be 4.
  # fss_payload_read -ocn payload level_3/fss_read/tests/runtime/fss_000e/source/test-0002-mixed.fss | wc -l

Investigating this problem revealed that the comment handling code is failing to perform a range check.
The overflow is causing the stop range to point to some random memory address which is almost always larger than the file.
This results in the count being wrong.

This bug is a security concern.
Add the range check in all places where this range check is missing for the comments.
level_3/fss_basic_list_read/c/private-read.c
level_3/fss_extended_list_read/c/private-read.c
level_3/fss_payload_read/c/private-read.c