File 2141-Malformed-DNS-RRs-shall-result-in-parse-errors.patch of Package erlang
From e61baae9fb990f6456f1f76474cf0851cb5d2a7d Mon Sep 17 00:00:00 2001
From: Alexandre Snarskii <snar@snar.spb.ru>
Date: Mon, 23 Aug 2021 13:44:08 +0300
Subject: [PATCH 1/2] Malformed DNS RRs shall result in parse errors
---
lib/kernel/src/inet_dns.erl | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/kernel/src/inet_dns.erl b/lib/kernel/src/inet_dns.erl
index 7a9444ba74..8f63dfdf11 100644
--- a/lib/kernel/src/inet_dns.erl
+++ b/lib/kernel/src/inet_dns.erl
@@ -500,6 +500,13 @@ decode_data(<<Flags:8,Data0/binary>>, _, ?S_CAA, _) ->
orelse throw(?DECODE_ERROR),
Value = binary_to_list(Data1),
{Flags,inet_db:tolower(Tag),Value};
+%% malformed known RR in inet domain
+decode_data(_, in, T, _) when T == ?S_A; T == ?S_AAAA; T == ?S_WKS ->
+ throw(?DECODE_ERROR);
+%% malormed known RR in any domain
+decode_data(_, _, T, _) when T == ?S_HINFO; T == ?S_MX; T == ?S_SRV;
+ T == ?S_NAPTR; T == ?S_URI; T == ?S_CAA ->
+ throw(?DECODE_ERROR);
%% sofar unknown or non standard
decode_data(Data, _, _, _) ->
Data.
--
2.31.1