This repository has been archived by the owner on Aug 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 56
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #131 from Intel-BMC/update
Update to internal 1-1.20
- Loading branch information
Showing
142 changed files
with
11,329 additions
and
1,625 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Security Policy | ||
Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. | ||
|
||
## Reporting a Vulnerability | ||
Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). | ||
|
52 changes: 52 additions & 0 deletions
52
meta-openbmc-mods/meta-common/recipes-connectivity/avahi/avahi/CVE-2023-38470.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
From 94cb6489114636940ac683515417990b55b5d66c Mon Sep 17 00:00:00 2001 | ||
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com> | ||
Date: Tue, 11 Apr 2023 15:29:59 +0200 | ||
Subject: [PATCH] Ensure each label is at least one byte long | ||
|
||
The only allowed exception is single dot, where it should return empty | ||
string. | ||
|
||
Fixes #454. | ||
--- | ||
avahi-common/domain-test.c | 14 ++++++++++++++ | ||
avahi-common/domain.c | 2 +- | ||
2 files changed, 15 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/avahi-common/domain-test.c b/avahi-common/domain-test.c | ||
index cf763eca6..3acc1c1e4 100644 | ||
--- a/avahi-common/domain-test.c | ||
+++ b/avahi-common/domain-test.c | ||
@@ -45,6 +45,20 @@ int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { | ||
printf("%s\n", s = avahi_normalize_name_strdup("fo\\\\o\\..f oo.")); | ||
avahi_free(s); | ||
|
||
+ printf("%s\n", s = avahi_normalize_name_strdup(".")); | ||
+ avahi_free(s); | ||
+ | ||
+ s = avahi_normalize_name_strdup(",.=.}.=.?-.}.=.?.?.}.}.?.?.?.z.?.?.}.}." | ||
+ "}.?.?.?.r.=.=.}.=.?.}}.}.?.?.?.zM.=.=.?.?.}.}.?.?.}.}.}" | ||
+ ".?.?.?.r.=.=.}.=.?.}}.}.?.?.?.zM.=.=.?.?.}.}.?.?.?.zM.?`" | ||
+ "?.}.}.}.?.?.?.r.=.?.}.=.?.?.}.?.?.?.}.=.?.?.}??.}.}.?.?." | ||
+ "?.z.?.?.}.}.}.?.?.?.r.=.=.}.=.?.}}.}.?.?.?.zM.?`?.}.}.}." | ||
+ "??.?.zM.?`?.}.}.}.?.?.?.r.=.?.}.=.?.?.}.?.?.?.}.=.?.?.}?" | ||
+ "?.}.}.?.?.?.z.?.?.}.}.}.?.?.?.r.=.=.}.=.?.}}.}.?.?.?.zM." | ||
+ "?`?.}.}.}.?.?.?.r.=.=.?.?`.?.?}.}.}.?.?.?.r.=.?.}.=.?.?." | ||
+ "}.?.?.?.}.=.?.?.}"); | ||
+ assert(s == NULL); | ||
+ | ||
printf("%i\n", avahi_domain_equal("\\065aa bbb\\.\\046cc.cc\\\\.dee.fff.", "Aaa BBB\\.\\.cc.cc\\\\.dee.fff")); | ||
printf("%i\n", avahi_domain_equal("A", "a")); | ||
|
||
diff --git a/avahi-common/domain.c b/avahi-common/domain.c | ||
index 3b1ab6834..e66d2416c 100644 | ||
--- a/avahi-common/domain.c | ||
+++ b/avahi-common/domain.c | ||
@@ -201,7 +201,7 @@ char *avahi_normalize_name(const char *s, char *ret_s, size_t size) { | ||
} | ||
|
||
if (!empty) { | ||
- if (size < 1) | ||
+ if (size < 2) | ||
return NULL; | ||
|
||
*(r++) = '.'; |
68 changes: 68 additions & 0 deletions
68
meta-openbmc-mods/meta-common/recipes-connectivity/avahi/avahi/CVE-2023-38471.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
From 894f085f402e023a98cbb6f5a3d117bd88d93b09 Mon Sep 17 00:00:00 2001 | ||
From: Michal Sekletar <msekleta@redhat.com> | ||
Date: Mon, 23 Oct 2023 13:38:35 +0200 | ||
Subject: [PATCH] core: extract host name using avahi_unescape_label() | ||
|
||
Previously we could create invalid escape sequence when we split the | ||
string on dot. For example, from valid host name "foo\\.bar" we have | ||
created invalid name "foo\\" and tried to set that as the host name | ||
which crashed the daemon. | ||
|
||
Fixes #453 | ||
|
||
CVE-2023-38471 | ||
--- | ||
avahi-core/server.c | 27 +++++++++++++++++++++------ | ||
1 file changed, 21 insertions(+), 6 deletions(-) | ||
|
||
diff --git a/avahi-core/server.c b/avahi-core/server.c | ||
index c32637af8..f6a21bb77 100644 | ||
--- a/avahi-core/server.c | ||
+++ b/avahi-core/server.c | ||
@@ -1295,7 +1295,11 @@ static void update_fqdn(AvahiServer *s) { | ||
} | ||
|
||
int avahi_server_set_host_name(AvahiServer *s, const char *host_name) { | ||
- char *hn = NULL; | ||
+ char label_escaped[AVAHI_LABEL_MAX*4+1]; | ||
+ char label[AVAHI_LABEL_MAX]; | ||
+ char *hn = NULL, *h; | ||
+ size_t len; | ||
+ | ||
assert(s); | ||
|
||
AVAHI_CHECK_VALIDITY(s, !host_name || avahi_is_valid_host_name(host_name), AVAHI_ERR_INVALID_HOST_NAME); | ||
@@ -1305,17 +1309,28 @@ int avahi_server_set_host_name(AvahiServer *s, const char *host_name) { | ||
else | ||
hn = avahi_normalize_name_strdup(host_name); | ||
|
||
- hn[strcspn(hn, ".")] = 0; | ||
+ h = hn; | ||
+ if (!avahi_unescape_label((const char **)&hn, label, sizeof(label))) { | ||
+ avahi_free(h); | ||
+ return AVAHI_ERR_INVALID_HOST_NAME; | ||
+ } | ||
+ | ||
+ avahi_free(h); | ||
+ | ||
+ h = label_escaped; | ||
+ len = sizeof(label_escaped); | ||
+ if (!avahi_escape_label(label, strlen(label), &h, &len)) | ||
+ return AVAHI_ERR_INVALID_HOST_NAME; | ||
|
||
- if (avahi_domain_equal(s->host_name, hn) && s->state != AVAHI_SERVER_COLLISION) { | ||
- avahi_free(hn); | ||
+ if (avahi_domain_equal(s->host_name, label_escaped) && s->state != AVAHI_SERVER_COLLISION) | ||
return avahi_server_set_errno(s, AVAHI_ERR_NO_CHANGE); | ||
- } | ||
|
||
withdraw_host_rrs(s); | ||
|
||
avahi_free(s->host_name); | ||
- s->host_name = hn; | ||
+ s->host_name = avahi_strdup(label_escaped); | ||
+ if (!s->host_name) | ||
+ return AVAHI_ERR_NO_MEMORY; | ||
|
||
update_fqdn(s); | ||
|
40 changes: 40 additions & 0 deletions
40
meta-openbmc-mods/meta-common/recipes-connectivity/avahi/avahi/CVE-2023-38472.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
From b024ae5749f4aeba03478e6391687c3c9c8dee40 Mon Sep 17 00:00:00 2001 | ||
From: Michal Sekletar <msekleta@redhat.com> | ||
Date: Thu, 19 Oct 2023 17:36:44 +0200 | ||
Subject: [PATCH] core: make sure there is rdata to process before parsing it | ||
|
||
Fixes #452 | ||
|
||
CVE-2023-38472 | ||
--- | ||
avahi-client/client-test.c | 3 +++ | ||
avahi-daemon/dbus-entry-group.c | 2 +- | ||
2 files changed, 4 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/avahi-client/client-test.c b/avahi-client/client-test.c | ||
index b3366d848..ba9799881 100644 | ||
--- a/avahi-client/client-test.c | ||
+++ b/avahi-client/client-test.c | ||
@@ -258,6 +258,9 @@ int main (AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { | ||
printf("%s\n", avahi_strerror(avahi_entry_group_add_service (group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "Lathiat's Site", "_http._tcp", NULL, NULL, 80, "foo=bar", NULL))); | ||
printf("add_record: %d\n", avahi_entry_group_add_record (group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "TestX", 0x01, 0x10, 120, "\5booya", 6)); | ||
|
||
+ error = avahi_entry_group_add_record (group, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, 0, "TestX", 0x01, 0x10, 120, "", 0); | ||
+ assert(error != AVAHI_OK); | ||
+ | ||
avahi_entry_group_commit (group); | ||
|
||
domain = avahi_domain_browser_new (avahi, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, NULL, AVAHI_DOMAIN_BROWSER_BROWSE, 0, avahi_domain_browser_callback, (char*) "omghai3u"); | ||
diff --git a/avahi-daemon/dbus-entry-group.c b/avahi-daemon/dbus-entry-group.c | ||
index 4e879a5ba..aa23d4b6b 100644 | ||
--- a/avahi-daemon/dbus-entry-group.c | ||
+++ b/avahi-daemon/dbus-entry-group.c | ||
@@ -340,7 +340,7 @@ DBusHandlerResult avahi_dbus_msg_entry_group_impl(DBusConnection *c, DBusMessage | ||
if (!(r = avahi_record_new_full (name, clazz, type, ttl))) | ||
return avahi_dbus_respond_error(c, m, AVAHI_ERR_NO_MEMORY, NULL); | ||
|
||
- if (avahi_rdata_parse (r, rdata, size) < 0) { | ||
+ if (!rdata || avahi_rdata_parse (r, rdata, size) < 0) { | ||
avahi_record_unref (r); | ||
return avahi_dbus_respond_error(c, m, AVAHI_ERR_INVALID_RDATA, NULL); | ||
} |
104 changes: 104 additions & 0 deletions
104
meta-openbmc-mods/meta-common/recipes-connectivity/avahi/avahi/CVE-2023-38473.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
From b448c9f771bada14ae8de175695a9729f8646797 Mon Sep 17 00:00:00 2001 | ||
From: Michal Sekletar <msekleta@redhat.com> | ||
Date: Wed, 11 Oct 2023 17:45:44 +0200 | ||
Subject: [PATCH] common: derive alternative host name from its unescaped | ||
version | ||
|
||
Normalization of input makes sure we don't have to deal with special | ||
cases like unescaped dot at the end of label. | ||
|
||
Fixes #451 #487 | ||
CVE-2023-38473 | ||
--- | ||
avahi-common/alternative-test.c | 3 +++ | ||
avahi-common/alternative.c | 27 +++++++++++++++++++-------- | ||
2 files changed, 22 insertions(+), 8 deletions(-) | ||
|
||
diff --git a/avahi-common/alternative-test.c b/avahi-common/alternative-test.c | ||
index 9255435ec..681fc15b8 100644 | ||
--- a/avahi-common/alternative-test.c | ||
+++ b/avahi-common/alternative-test.c | ||
@@ -31,6 +31,9 @@ int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { | ||
const char* const test_strings[] = { | ||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", | ||
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXüüüüüüü", | ||
+ ").", | ||
+ "\\.", | ||
+ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\\\", | ||
"gurke", | ||
"-", | ||
" #", | ||
diff --git a/avahi-common/alternative.c b/avahi-common/alternative.c | ||
index b3d39f0ed..a094e6d76 100644 | ||
--- a/avahi-common/alternative.c | ||
+++ b/avahi-common/alternative.c | ||
@@ -49,15 +49,20 @@ static void drop_incomplete_utf8(char *c) { | ||
} | ||
|
||
char *avahi_alternative_host_name(const char *s) { | ||
+ char label[AVAHI_LABEL_MAX], alternative[AVAHI_LABEL_MAX*4+1]; | ||
+ char *alt, *r, *ret; | ||
const char *e; | ||
- char *r; | ||
+ size_t len; | ||
|
||
assert(s); | ||
|
||
if (!avahi_is_valid_host_name(s)) | ||
return NULL; | ||
|
||
- if ((e = strrchr(s, '-'))) { | ||
+ if (!avahi_unescape_label(&s, label, sizeof(label))) | ||
+ return NULL; | ||
+ | ||
+ if ((e = strrchr(label, '-'))) { | ||
const char *p; | ||
|
||
e++; | ||
@@ -74,19 +79,18 @@ char *avahi_alternative_host_name(const char *s) { | ||
|
||
if (e) { | ||
char *c, *m; | ||
- size_t l; | ||
int n; | ||
|
||
n = atoi(e)+1; | ||
if (!(m = avahi_strdup_printf("%i", n))) | ||
return NULL; | ||
|
||
- l = e-s-1; | ||
+ len = e-label-1; | ||
|
||
- if (l >= AVAHI_LABEL_MAX-1-strlen(m)-1) | ||
- l = AVAHI_LABEL_MAX-1-strlen(m)-1; | ||
+ if (len >= AVAHI_LABEL_MAX-1-strlen(m)-1) | ||
+ len = AVAHI_LABEL_MAX-1-strlen(m)-1; | ||
|
||
- if (!(c = avahi_strndup(s, l))) { | ||
+ if (!(c = avahi_strndup(label, len))) { | ||
avahi_free(m); | ||
return NULL; | ||
} | ||
@@ -100,7 +104,7 @@ char *avahi_alternative_host_name(const char *s) { | ||
} else { | ||
char *c; | ||
|
||
- if (!(c = avahi_strndup(s, AVAHI_LABEL_MAX-1-2))) | ||
+ if (!(c = avahi_strndup(label, AVAHI_LABEL_MAX-1-2))) | ||
return NULL; | ||
|
||
drop_incomplete_utf8(c); | ||
@@ -109,6 +113,13 @@ char *avahi_alternative_host_name(const char *s) { | ||
avahi_free(c); | ||
} | ||
|
||
+ alt = alternative; | ||
+ len = sizeof(alternative); | ||
+ ret = avahi_escape_label(r, strlen(r), &alt, &len); | ||
+ | ||
+ avahi_free(r); | ||
+ r = avahi_strdup(ret); | ||
+ | ||
assert(avahi_is_valid_host_name(r)); | ||
|
||
return r; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
meta-openbmc-mods/meta-common/recipes-connectivity/openssl/files/environment.d-openssl.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
export OPENSSL_CONF="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/openssl.cnf" | ||
export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/certs" | ||
export SSL_CERT_FILE="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/certs/ca-certificates.crt" | ||
export OPENSSL_MODULES="$OECORE_NATIVE_SYSROOT/usr/lib/ossl-modules/" | ||
export OPENSSL_ENGINES="$OECORE_NATIVE_SYSROOT/usr/lib/engines-3" |
39 changes: 39 additions & 0 deletions
39
...common/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
From 0377f0d5b5c1079e3b9a80881f4dcc891cbe9f9a Mon Sep 17 00:00:00 2001 | ||
From: Alexander Kanavin <alex@linutronix.de> | ||
Date: Tue, 30 May 2023 09:11:27 -0700 | ||
Subject: [PATCH] Configure: do not tweak mips cflags | ||
|
||
This conflicts with mips machine definitons from yocto, | ||
e.g. | ||
| Error: -mips3 conflicts with the other architecture options, which imply -mips64r2 | ||
|
||
Upstream-Status: Inappropriate [oe-core specific] | ||
Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
|
||
Refreshed for openssl-3.1.1 | ||
Signed-off-by: Tim Orling <tim.orling@konsulko.com> | ||
--- | ||
Configure | 10 ---------- | ||
1 file changed, 10 deletions(-) | ||
|
||
diff --git a/Configure b/Configure | ||
index 4569952..adf019b 100755 | ||
--- a/Configure | ||
+++ b/Configure | ||
@@ -1422,16 +1422,6 @@ if ($target =~ /^mingw/ && `$config{CC} --target-help 2>&1` =~ m/-mno-cygwin/m) | ||
push @{$config{shared_ldflag}}, "-mno-cygwin"; | ||
} | ||
|
||
-if ($target =~ /linux.*-mips/ && !$disabled{asm} | ||
- && !grep { $_ =~ /-m(ips|arch=)/ } (@{$config{CFLAGS}})) { | ||
- # minimally required architecture flags for assembly modules | ||
- my $value; | ||
- $value = '-mips2' if ($target =~ /mips32/); | ||
- $value = '-mips3' if ($target =~ /mips64/); | ||
- unshift @{$config{cflags}}, $value; | ||
- unshift @{$config{cxxflags}}, $value if $config{CXX}; | ||
-} | ||
- | ||
# If threads aren't disabled, check how possible they are | ||
unless ($disabled{threads}) { | ||
if ($auto_threads) { |
Oops, something went wrong.