summaryrefslogtreecommitdiffstats
path: root/meta-webserver/recipes-httpd/nginx
diff options
context:
space:
mode:
authorHitendra Prajapati <hprajapati@mvista.com>2026-04-06 10:58:23 +0530
committerAnuj Mittal <anuj.mittal@oss.qualcomm.com>2026-04-13 12:31:29 +0530
commit9310c3b1a43d53152f6fbb6333e1d41dbe5d419e (patch)
tree9974a50822382c33df012ebe88ca40a383fd36bf /meta-webserver/recipes-httpd/nginx
parent1ad0d777d1de1769e5995eb806f7ae5c15d0be54 (diff)
downloadmeta-openembedded-9310c3b1a43d53152f6fbb6333e1d41dbe5d419e.tar.gz
nginx: Fix for CVE-2026-27784
Pick patch from [1] which mentioned in debian report with [2] [1] https://github.com/nginx/nginx/commit/b23ac73b00313d159a99636c21ef71b828781018 [2] https://security-tracker.debian.org/tracker/CVE-2026-27784 More details: https://nvd.nist.gov/vuln/detail/CVE-2026-27784 Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com> Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
Diffstat (limited to 'meta-webserver/recipes-httpd/nginx')
-rw-r--r--meta-webserver/recipes-httpd/nginx/files/CVE-2026-27784.patch88
-rw-r--r--meta-webserver/recipes-httpd/nginx/nginx.inc1
2 files changed, 89 insertions, 0 deletions
diff --git a/meta-webserver/recipes-httpd/nginx/files/CVE-2026-27784.patch b/meta-webserver/recipes-httpd/nginx/files/CVE-2026-27784.patch
new file mode 100644
index 0000000000..41a8563c67
--- /dev/null
+++ b/meta-webserver/recipes-httpd/nginx/files/CVE-2026-27784.patch
@@ -0,0 +1,88 @@
1From b23ac73b00313d159a99636c21ef71b828781018 Mon Sep 17 00:00:00 2001
2From: Roman Arutyunyan <arut@nginx.com>
3Date: Mon, 2 Mar 2026 21:12:34 +0400
4Subject: [PATCH] Mp4: fixed possible integer overflow on 32-bit platforms.
5
6Previously, a 32-bit overflow could happen while validating atom entries
7count. This allowed processing of an invalid atom with entrires beyond
8its boundaries with reads and writes outside of the allocated mp4 buffer.
9
10Reported by Prabhav Srinath (sprabhav7).
11
12CVE: CVE-2026-27784
13Upstream-Status: Backport [https://github.com/nginx/nginx/commit/b23ac73b00313d159a99636c21ef71b828781018]
14Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
15---
16 src/http/modules/ngx_http_mp4_module.c | 14 +++++++-------
17 1 file changed, 7 insertions(+), 7 deletions(-)
18
19diff --git a/src/http/modules/ngx_http_mp4_module.c b/src/http/modules/ngx_http_mp4_module.c
20index 041ad26..a7f8be7 100644
21--- a/src/http/modules/ngx_http_mp4_module.c
22+++ b/src/http/modules/ngx_http_mp4_module.c
23@@ -2294,7 +2294,7 @@ ngx_http_mp4_read_stts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
24 "mp4 time-to-sample entries:%uD", entries);
25
26 if (ngx_mp4_atom_data_size(ngx_mp4_stts_atom_t)
27- + entries * sizeof(ngx_mp4_stts_entry_t) > atom_data_size)
28+ + (uint64_t) entries * sizeof(ngx_mp4_stts_entry_t) > atom_data_size)
29 {
30 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
31 "\"%s\" mp4 stts atom too small", mp4->file.name.data);
32@@ -2597,7 +2597,7 @@ ngx_http_mp4_read_stss_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
33 atom->last = atom_table;
34
35 if (ngx_mp4_atom_data_size(ngx_http_mp4_stss_atom_t)
36- + entries * sizeof(uint32_t) > atom_data_size)
37+ + (uint64_t) entries * sizeof(uint32_t) > atom_data_size)
38 {
39 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
40 "\"%s\" mp4 stss atom too small", mp4->file.name.data);
41@@ -2802,7 +2802,7 @@ ngx_http_mp4_read_ctts_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
42 atom->last = atom_table;
43
44 if (ngx_mp4_atom_data_size(ngx_mp4_ctts_atom_t)
45- + entries * sizeof(ngx_mp4_ctts_entry_t) > atom_data_size)
46+ + (uint64_t) entries * sizeof(ngx_mp4_ctts_entry_t) > atom_data_size)
47 {
48 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
49 "\"%s\" mp4 ctts atom too small", mp4->file.name.data);
50@@ -2984,7 +2984,7 @@ ngx_http_mp4_read_stsc_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
51 "sample-to-chunk entries:%uD", entries);
52
53 if (ngx_mp4_atom_data_size(ngx_mp4_stsc_atom_t)
54- + entries * sizeof(ngx_mp4_stsc_entry_t) > atom_data_size)
55+ + (uint64_t) entries * sizeof(ngx_mp4_stsc_entry_t) > atom_data_size)
56 {
57 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
58 "\"%s\" mp4 stsc atom too small", mp4->file.name.data);
59@@ -3362,7 +3362,7 @@ ngx_http_mp4_read_stsz_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
60
61 if (size == 0) {
62 if (ngx_mp4_atom_data_size(ngx_mp4_stsz_atom_t)
63- + entries * sizeof(uint32_t) > atom_data_size)
64+ + (uint64_t) entries * sizeof(uint32_t) > atom_data_size)
65 {
66 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
67 "\"%s\" mp4 stsz atom too small",
68@@ -3521,7 +3521,7 @@ ngx_http_mp4_read_stco_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
69 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "chunks:%uD", entries);
70
71 if (ngx_mp4_atom_data_size(ngx_mp4_stco_atom_t)
72- + entries * sizeof(uint32_t) > atom_data_size)
73+ + (uint64_t) entries * sizeof(uint32_t) > atom_data_size)
74 {
75 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
76 "\"%s\" mp4 stco atom too small", mp4->file.name.data);
77@@ -3737,7 +3737,7 @@ ngx_http_mp4_read_co64_atom(ngx_http_mp4_file_t *mp4, uint64_t atom_data_size)
78 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, mp4->file.log, 0, "chunks:%uD", entries);
79
80 if (ngx_mp4_atom_data_size(ngx_mp4_co64_atom_t)
81- + entries * sizeof(uint64_t) > atom_data_size)
82+ + (uint64_t) entries * sizeof(uint64_t) > atom_data_size)
83 {
84 ngx_log_error(NGX_LOG_ERR, mp4->file.log, 0,
85 "\"%s\" mp4 co64 atom too small", mp4->file.name.data);
86--
872.50.1
88
diff --git a/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-webserver/recipes-httpd/nginx/nginx.inc
index 722e2508d4..05e3cab44d 100644
--- a/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -28,6 +28,7 @@ SRC_URI = " \
28 file://CVE-2025-53859.patch \ 28 file://CVE-2025-53859.patch \
29 file://CVE-2025-23419.patch \ 29 file://CVE-2025-23419.patch \
30 file://CVE-2026-1642.patch \ 30 file://CVE-2026-1642.patch \
31 file://CVE-2026-27784.patch \
31" 32"
32 33
33inherit siteinfo update-rc.d useradd systemd 34inherit siteinfo update-rc.d useradd systemd