summaryrefslogtreecommitdiffstats
path: root/meta-networking
diff options
context:
space:
mode:
authorAbhishek Bachiphale <Abhishek.Bachiphale@windriver.com>2026-05-18 22:43:32 +0530
committerKhem Raj <khem.raj@oss.qualcomm.com>2026-05-20 21:18:30 -0700
commit78162615f538ddfde6886f1dc2a8c7d3d944c79e (patch)
tree8298b2ca97f6afb4973d0ac403eb856b0753a921 /meta-networking
parenta53328688a239e97b8383ffbfd7b4b4eca108d73 (diff)
downloadmeta-openembedded-78162615f538ddfde6886f1dc2a8c7d3d944c79e.tar.gz
dnsmasq: fix CVE-2026-4890
A Denial of Service (DoS) vulnerability in the DNSSEC validation of dnsmasq allows remote attackers to cause a denial of service via a crafted DNS packet. Reference: [ https://nvd.nist.gov/vuln/detail/CVE-2026-4890 ] Signed-off-by: Abhishek Bachiphale <Abhishek.Bachiphale@windriver.com> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Diffstat (limited to 'meta-networking')
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq_2.92.bb1
-rw-r--r--meta-networking/recipes-support/dnsmasq/files/CVE-2026-4890.patch50
2 files changed, 51 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.92.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.92.bb
index bef058aa3e..61cdccb241 100644
--- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.92.bb
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.92.bb
@@ -16,6 +16,7 @@ SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getV
16 file://dnsmasq-noresolvconf.service \ 16 file://dnsmasq-noresolvconf.service \
17 file://dnsmasq-resolved.conf \ 17 file://dnsmasq-resolved.conf \
18 file://CVE-2026-2291.patch \ 18 file://CVE-2026-2291.patch \
19 file://CVE-2026-4890.patch \
19" 20"
20SRC_URI[sha256sum] = "fd908e79ff37f73234afcb6d3363f78353e768703d92abd8e3220ade6819b1e1" 21SRC_URI[sha256sum] = "fd908e79ff37f73234afcb6d3363f78353e768703d92abd8e3220ade6819b1e1"
21 22
diff --git a/meta-networking/recipes-support/dnsmasq/files/CVE-2026-4890.patch b/meta-networking/recipes-support/dnsmasq/files/CVE-2026-4890.patch
new file mode 100644
index 0000000000..4a7673817b
--- /dev/null
+++ b/meta-networking/recipes-support/dnsmasq/files/CVE-2026-4890.patch
@@ -0,0 +1,50 @@
1commit 4fdb707633afe8028118bcaf39b4882f634b5999
2Author: Simon Kelley <simon@thekelleys.org.uk>
3Date: Fri Apr 10 16:24:02 2026 +0100
4
5Fix NSEC bitmap parsing infinite loop. CVE-2026-4890
6
7Report from Royce M <royce@xchglabs.com>.
8
9Location: dnssec.c:1290-1306, dnssec.c:1450-1463
10
11The bitmap window iteration advances by p[1] instead of p[1]+2
12(missing the 2-byte window header). With bitmap_length=0, both rdlen and p are
13unchanged, causing an infinite loop and dnsmasq stops responding to all queries.
14
15Reachable before RRSIG validation
16(confirmed by the source comment at line 2125), so no valid
17DNSSEC signatures are needed.
18
19CVE: CVE-2026-4890
20
21Upstream-Status: Backport [ https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=7b151eb60609a0139474918222806f9bcfb4fe71 ]
22
23Signed-off-by: Abhishek Bachiphale <Abhishek.Bachiphale@windriver.com>
24
25diff --git a/src/dnssec.c b/src/dnssec.c
26index 4bb0495..3951620 100644
27--- a/src/dnssec.c
28+++ b/src/dnssec.c
29@@ -1348,8 +1348,8 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi
30 break; /* finished checking */
31 }
32
33- rdlen -= p[1];
34- p += p[1];
35+ rdlen -= p[1] + 2;
36+ p += p[1] + 2;
37 }
38
39 return 0;
40@@ -1512,8 +1512,8 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
41 break; /* finished checking */
42 }
43
44- rdlen -= p[1];
45- p += p[1];
46+ rdlen -= p[1] + 2;
47+ p += p[1] + 2;
48 }
49
50 return 1;