From 70dc2f8597b230ec731e9cbe07b1ee619f580355 Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Fri, 26 Jan 2018 18:46:30 +0900 Subject: New patch 955_tbl-indent.patch to fix stack overflow [CVE-2018-6196] --- debian/patches/955_tbl-indent.patch | 24 ++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 25 insertions(+) create mode 100644 debian/patches/955_tbl-indent.patch (limited to 'debian') diff --git a/debian/patches/955_tbl-indent.patch b/debian/patches/955_tbl-indent.patch new file mode 100644 index 0000000..9252669 --- /dev/null +++ b/debian/patches/955_tbl-indent.patch @@ -0,0 +1,24 @@ +Subject: Prevent negative indent value in feed_table_block_tag() +From: Tatsuya Kinoshita +Bug-Debian: https://github.com/tats/w3m/issues/88 [CVE-2018-6196] +Origin: https://salsa.debian.org/debian/w3m/commit/8354763b90490d4105695df52674d0fcef823e92 + +diff --git a/table.c b/table.c +index 221db92..4f193e1 100644 +--- a/table.c ++++ b/table.c +@@ -2356,10 +2356,14 @@ feed_table_block_tag(struct table *tbl, + if (mode->indent_level < MAX_INDENT_LEVEL) + tbl->indent -= INDENT_INCR; + } ++ if (tbl->indent < 0) ++ tbl->indent = 0; + offset = tbl->indent; + if (cmd == HTML_DT) { + if (mode->indent_level > 0 && mode->indent_level <= MAX_INDENT_LEVEL) + offset -= INDENT_INCR; ++ if (offset < 0) ++ offset = 0; + } + if (tbl->indent > 0) { + check_minimum0(tbl, 0); diff --git a/debian/patches/series b/debian/patches/series index 4c59f00..2cc6a0f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 010_upstream.patch 020_debian.patch +955_tbl-indent.patch -- cgit v1.2.3