Ruikai Peng
cc43670268
avfilter/x86/vf_noise: Use unaligned access
...
Regression since: 3ba570de8b (port from MMX to SSE2).
The SSE2 inline asm in libavfilter/x86/vf_noise.c (line_noise_sse2 and
line_noise_avg_sse2) uses aligned loads/stores (movdqa, movntdq) but never
checks pointer alignment. When the filter reuses an input frame (common
path when av_frame_is_writable() is true), it may receive misaligned data
from upstream filters that adjust frame->data[i] in place, notably vf_crop:
- vf_crop adjusts plane pointers by arbitrary byte offsets
(frame->data[plane] += ...), so an x offset of 1 on 8-bit formats produces
a 1‑byte misalignment.
- The noise filter then calls the SSE2 path directly on those pointers
without realigning or falling back.
Repro on x86_64/SSE2 (current HEAD at that commit):
./ffmpeg -v error -f lavfi -i testsrc=s=320x240:rate=1 \
-vf "format=yuv420p,crop=w=319:x=1:h=240:exact=1,noise=alls=50" \
-frames:v 1 -f null -
This crashes with SIGSEGV at the aligned load in line_noise_sse2 (movdqa
(%r9,%rax),%xmm0; effective address misaligned by 1 byte).
Impact: denial of service via crafted filtergraphs (e.g., crop + noise).
Applies to planar 8-bit formats where upstream filters can shift data
pointers without reallocating.
Found-by: Pwno OSS Team
2025-12-12 19:25:21 +00:00
..
2025-09-16 18:22:24 +02:00
2025-08-13 19:50:26 +08:00
2025-08-03 13:48:47 +02:00
2025-11-25 22:32:50 +01:00
2025-08-20 22:06:21 +09:00
2025-12-12 19:25:21 +00:00
2025-07-03 21:41:53 +02:00
2025-09-04 23:12:34 +00:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-07-22 09:47:18 -03:00
2025-12-07 19:36:49 +00:00
2025-11-30 22:20:13 +01:00
2025-10-07 14:51:46 -07:00
2025-12-03 11:52:54 +01:00
2025-10-07 14:51:46 -07:00
2025-08-03 13:48:47 +02:00
2025-07-25 00:18:07 -03:00
2025-07-03 21:41:53 +02:00
2025-08-03 13:48:47 +02:00
2025-08-07 03:07:44 +02:00
2025-08-12 09:01:39 +00:00
2025-10-07 14:51:46 -07:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-09-25 11:34:10 +00:00
2025-12-07 21:22:23 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-07-22 09:47:18 -03:00
2025-07-22 09:47:18 -03:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:08 +02:00
2025-12-09 21:31:58 +00:00
2025-10-04 17:49:08 +02:00
2025-10-27 15:39:39 +01:00
2025-09-02 17:06:25 +02:00
2025-11-26 13:15:16 +00:00
2025-11-26 13:15:16 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-07-22 09:47:18 -03:00
2025-11-22 18:36:41 +00:00
2025-12-04 13:50:45 -03:00
2025-08-03 13:48:47 +02:00
2025-11-06 18:01:33 +01:00
2025-11-06 18:01:33 +01:00
2025-08-03 13:48:47 +02:00
2025-07-14 22:03:36 +02:00
2025-07-14 22:03:36 +02:00
2025-09-26 12:24:04 -03:00
2025-08-03 13:48:47 +02:00
2025-12-07 21:22:23 +00:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-08-03 13:48:47 +02:00
2025-09-02 17:06:25 +02:00
2025-08-03 13:48:47 +02:00
2025-09-30 15:39:39 +00:00
2025-09-30 15:39:39 +00:00
2025-11-30 22:20:13 +01:00
2025-08-21 14:55:12 +02:00
2025-07-03 21:41:53 +02:00
2025-09-02 17:06:25 +02:00
2025-08-11 19:29:53 +00:00
2025-08-03 13:48:47 +02:00
2025-07-29 22:10:05 +02:00
2025-07-19 00:36:25 +02:00
2025-09-26 12:31:39 +00:00
2025-11-27 22:11:57 +01:00
2025-09-02 17:06:25 +02:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-10-07 16:00:27 +00:00
2025-08-03 13:48:47 +02:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-10-07 16:00:27 +00:00
2025-10-07 16:00:27 +00:00
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
2025-09-21 13:28:58 +02:00
2025-11-30 22:20:13 +01:00
2025-11-10 21:50:58 +00:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-08-03 13:48:47 +02:00
2025-09-26 16:15:46 +00:00
2025-09-02 17:06:25 +02:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-09-04 22:20:58 +02:00
2025-09-26 16:15:46 +00:00
2025-08-12 09:01:39 +00:00
2025-11-19 17:46:06 +00:00
2025-11-25 22:32:50 +01:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:25 +02:00
2025-09-02 17:06:25 +02:00
2025-12-03 21:23:51 +00:00
2025-09-02 17:06:25 +02:00
2025-11-30 22:20:13 +01:00
2025-08-12 09:01:39 +00:00
2025-11-18 21:26:36 +00:00
2025-11-17 12:18:12 +01:00
2025-11-17 12:18:12 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-27 22:11:57 +01:00
2025-07-17 12:26:05 +02:00
2025-09-21 11:02:41 +00:00
2025-11-30 22:20:13 +01:00
2025-09-21 11:02:41 +00:00
2025-12-03 11:52:54 +01:00
2025-12-08 21:31:13 +00:00
2025-11-29 08:45:24 +00:00
2025-08-12 09:01:39 +00:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-11-30 22:20:13 +01:00
2025-09-02 15:56:23 +02:00
2025-08-03 13:48:47 +02:00
2025-12-08 21:31:13 +00:00
2025-11-30 22:20:13 +01:00
2025-10-16 21:32:43 +00:00
2025-10-16 19:10:51 +02:00
2025-10-16 18:41:19 +02:00
2025-07-11 17:49:58 +02:00
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:25 +02:00
2025-07-04 01:32:27 +02:00
2025-07-04 01:32:27 +02:00
2025-09-02 17:06:25 +02:00
2025-08-12 09:01:39 +00:00
2025-10-07 14:51:46 -07:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:09 +02:00
2025-12-03 11:52:54 +01:00
2025-11-30 22:20:13 +01:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-08-03 13:48:47 +02:00
2025-09-02 17:06:25 +02:00
2025-11-27 22:11:57 +01:00
2025-11-27 22:11:57 +01:00
2025-11-27 22:11:57 +01:00
2025-08-03 13:48:47 +02:00
2025-12-08 14:22:16 +01:00
2025-09-30 15:39:39 +00:00
2025-09-30 15:39:39 +00:00
2025-09-30 15:39:39 +00:00
2025-09-30 15:39:39 +00:00
2025-09-30 15:39:39 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-08-12 09:01:39 +00:00
2025-10-28 20:46:21 +01:00
2025-09-26 12:31:39 +00:00
2025-09-02 17:06:25 +02:00
2025-12-03 11:52:54 +01:00
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
2025-10-15 19:43:37 +02:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:25 +02:00
2025-11-30 22:20:13 +01:00
2025-09-02 17:06:25 +02:00
2025-11-30 22:20:13 +01:00
2025-08-06 21:25:46 +00:00
2025-09-02 17:06:25 +02:00
2025-11-30 22:20:13 +01:00
2025-09-26 06:00:43 +02:00
2025-08-12 09:01:39 +00:00
2025-09-02 17:06:25 +02:00
2025-09-26 12:31:39 +00:00
2025-11-30 22:20:13 +01:00
2025-12-03 11:52:54 +01:00
2025-08-03 13:48:47 +02:00
2025-11-30 22:20:13 +01:00
2025-07-22 09:47:18 -03:00
2025-07-31 19:51:23 +08:00
2025-08-12 09:01:39 +00:00
2025-09-30 15:39:39 +00:00
2025-11-30 22:20:13 +01:00
2025-07-22 09:47:18 -03:00
2025-11-30 22:20:13 +01:00
2025-11-25 12:42:41 +05:30
2025-09-02 17:06:08 +02:00
2025-09-17 14:50:41 +00:00
2025-09-14 11:45:11 +00:00
2025-09-18 03:55:54 +02:00
2025-09-18 01:04:59 +00:00
2025-09-14 11:45:11 +00:00
2025-09-14 20:33:24 +02:00
2025-10-28 19:16:58 +00:00