diff options
-rw-r--r-- | meta-oe/recipes-support/libtinyxml/libtinyxml/CVE-2021-42260.patch | 27 | ||||
-rw-r--r-- | meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb | 4 |
2 files changed, 30 insertions, 1 deletions
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml/CVE-2021-42260.patch b/meta-oe/recipes-support/libtinyxml/libtinyxml/CVE-2021-42260.patch new file mode 100644 index 0000000000..8fc623744c --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml/libtinyxml/CVE-2021-42260.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Description: In stamp always advance the pointer if *p= 0xef | ||
2 | . | ||
3 | The current implementation only advanced if 0xef is followed | ||
4 | by two non-zero bytes. In case of malformed input (0xef should be | ||
5 | the start byte of a three byte character) this leads to an infinite | ||
6 | loop. (CVE-2021-42260) | ||
7 | Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/ | ||
8 | |||
9 | CVE: CVE-2021-42260 | ||
10 | Upstream-Status: Inactive-Upstream [lastrelease: 2011] | ||
11 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
12 | |||
13 | --- a/tinyxmlparser.cpp | ||
14 | +++ b/tinyxmlparser.cpp | ||
15 | @@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding ) | ||
16 | else | ||
17 | { p +=3; ++col; } // A normal character. | ||
18 | } | ||
19 | + else | ||
20 | + { | ||
21 | + // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so | ||
22 | + // there is something wrong here. Just advance the pointer to evade infinite loops | ||
23 | + ++p; | ||
24 | + } | ||
25 | } | ||
26 | else | ||
27 | { | ||
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb index 2a7ca30a9d..9ab92012f4 100644 --- a/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb +++ b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb | |||
@@ -10,7 +10,9 @@ CVE_PRODUCT = "tinyxml" | |||
10 | 10 | ||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \ | 11 | SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \ |
12 | file://enforce-use-stl.patch \ | 12 | file://enforce-use-stl.patch \ |
13 | file://entity-encoding.patch" | 13 | file://entity-encoding.patch \ |
14 | file://CVE-2021-42260.patch \ | ||
15 | " | ||
14 | SRC_URI[md5sum] = "c1b864c96804a10526540c664ade67f0" | 16 | SRC_URI[md5sum] = "c1b864c96804a10526540c664ade67f0" |
15 | SRC_URI[sha256sum] = "15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593" | 17 | SRC_URI[sha256sum] = "15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593" |
16 | 18 | ||