Skip to content

Commit 84e92ad

Browse files
committed
rewrite of security considerations on denial of service
as suggested by Roman Danyliw at https://mailarchive.ietf.org/arch/msg/cellar/KuYTCNSVV65KDqxq7EynlPbzZK4/
1 parent 6df1363 commit 84e92ad

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

ffv1.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1657,7 +1657,7 @@ For each Frame with `keyframe` value of 0, each slice MUST have the same value o
16571657

16581658
Like any other codec, (such as [@!RFC6716]), FFV1 should not be used with insecure ciphers or cipher-modes that are vulnerable to known plaintext attacks. Some of the header bits as well as the padding are easily predictable.
16591659

1660-
Implementations of the FFV1 codec need to take appropriate security considerations into account, as outlined in [@!RFC4732]. It is extremely important for the decoder to be robust against malicious payloads. Malicious payloads MUST NOT cause the decoder to overrun its allocated memory or to take an excessive amount of resources to decode. The same applies to the encoder, even though problems in encoders are typically rarer. Malicious video streams MUST NOT cause the encoder to misbehave because this would allow an attacker to attack transcoding gateways. A frequent security problem in image and video codecs is failure to check for integer overflows. An example is allocating `frame_pixel_width * frame_pixel_height` in Pixel count computations without considering that the multiplication result may have overflowed the arithmetic types range.
1660+
Implementations of the FFV1 codec need to take appropriate security considerations into account. Those related to denial of service are outlined in Section 2.1 of [@!RFC4732]. It is extremely important for the decoder to be robust against malicious payloads. Malicious payloads MUST NOT cause the decoder to overrun its allocated memory or to take an excessive amount of resources to decode. An overrun in allocated memory could lead to arbitrary code execution by an attacker. The same applies to the encoder, even though problems in encoders are typically rarer. Malicious video streams MUST NOT cause the encoder to misbehave because this would allow an attacker to attack transcoding gateways. A frequent security problem in image and video codecs is failure to check for integer overflows. An example is allocating `frame_pixel_width * frame_pixel_height` in Pixel count computations without considering that the multiplication result may have overflowed the arithmetic types range.
16611661
The range coder could, if implemented naively, read one byte over the end. The implementation MUST ensure that no read outside allocated and initialized memory occurs.
16621662

16631663
None of the content carried in FFV1 is intended to be executable.

0 commit comments

Comments
 (0)