diff options
| -rw-r--r-- | meta-networking/recipes-devtools/libcoap/libcoap/CVE-2024-0962.patch | 45 | ||||
| -rw-r--r-- | meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb | 1 |
2 files changed, 46 insertions, 0 deletions
diff --git a/meta-networking/recipes-devtools/libcoap/libcoap/CVE-2024-0962.patch b/meta-networking/recipes-devtools/libcoap/libcoap/CVE-2024-0962.patch new file mode 100644 index 0000000000..add52483b7 --- /dev/null +++ b/meta-networking/recipes-devtools/libcoap/libcoap/CVE-2024-0962.patch | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | From bf6a303883bde40cf96b960c8574cddd89e71701 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jon Shallow <supjps-libcoap@jpshallow.com> | ||
| 3 | Date: Thu, 25 Jan 2024 18:03:17 +0000 | ||
| 4 | Subject: [PATCH] coap_oscore.c: Fix parsing OSCORE configuration information | ||
| 5 | |||
| 6 | A vulnerability was found in obgm libcoap 4.3.4. It has been rated as critical. | ||
| 7 | Affected by this issue is the function get_split_entry of the file src/coap_oscore.c of the component Configuration File Handler. | ||
| 8 | The manipulation leads to stack-based buffer overflow. | ||
| 9 | |||
| 10 | CVE: CVE-2024-0962 | ||
| 11 | |||
| 12 | Upstream-Status: Backport [https://github.com/obgm/libcoap/pull/1311] | ||
| 13 | |||
| 14 | Signed-off-by: alperak <alperyasinak1@gmail.com> | ||
| 15 | --- | ||
| 16 | src/coap_oscore.c | 5 +++-- | ||
| 17 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/src/coap_oscore.c b/src/coap_oscore.c | ||
| 20 | index 83f785c92..e0fb22947 100644 | ||
| 21 | --- a/src/coap_oscore.c | ||
| 22 | +++ b/src/coap_oscore.c | ||
| 23 | @@ -1678,11 +1678,12 @@ get_split_entry(const char **start, | ||
| 24 | oscore_value_t *value) { | ||
| 25 | const char *begin = *start; | ||
| 26 | const char *end; | ||
| 27 | + const char *kend; | ||
| 28 | const char *split; | ||
| 29 | size_t i; | ||
| 30 | |||
| 31 | retry: | ||
| 32 | - end = memchr(begin, '\n', size); | ||
| 33 | + kend = end = memchr(begin, '\n', size); | ||
| 34 | if (end == NULL) | ||
| 35 | return 0; | ||
| 36 | |||
| 37 | @@ -1693,7 +1694,7 @@ get_split_entry(const char **start, | ||
| 38 | |||
| 39 | if (begin[0] == '#' || (end - begin) == 0) { | ||
| 40 | /* Skip comment / blank line */ | ||
| 41 | - size -= end - begin + 1; | ||
| 42 | + size -= kend - begin + 1; | ||
| 43 | begin = *start; | ||
| 44 | goto retry; | ||
| 45 | } | ||
diff --git a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb index 20bdbee252..98f0f02fb8 100644 --- a/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb +++ b/meta-networking/recipes-devtools/libcoap/libcoap_4.3.4.bb | |||
| @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1978dbc41673ab1c20e64b287c8317bc" | |||
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \ | 10 | SRC_URI = "git://github.com/obgm/libcoap.git;branch=main;protocol=https \ |
| 11 | file://run-ptest \ | 11 | file://run-ptest \ |
| 12 | file://CVE-2024-0962.patch \ | ||
| 12 | " | 13 | " |
| 13 | SRCREV = "5fd2f89ef068214130e5d60b7087ef48711fa615" | 14 | SRCREV = "5fd2f89ef068214130e5d60b7087ef48711fa615" |
| 14 | 15 | ||
