commit:     91641abac0747b8c2b701acb7acfc6d7e3f82c37
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 03:45:58 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 03:54:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91641aba

sys-apps/less: patch CVE-2022-46663

Bug: https://bugs.gentoo.org/893530
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/less/files/less-608-CVE-2022-46663.patch | 22 +++++++++
 sys-apps/less/less-608-r2.ebuild                  | 60 +++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git a/sys-apps/less/files/less-608-CVE-2022-46663.patch 
b/sys-apps/less/files/less-608-CVE-2022-46663.patch
new file mode 100644
index 000000000000..a358dd6f1a77
--- /dev/null
+++ b/sys-apps/less/files/less-608-CVE-2022-46663.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/893530
+https://github.com/gwsw/less/commit/a78e1351113cef564d790a730d657a321624d79c
+
+From a78e1351113cef564d790a730d657a321624d79c Mon Sep 17 00:00:00 2001
+From: Mark Nudelman <[email protected]>
+Date: Fri, 7 Oct 2022 19:25:46 -0700
+Subject: [PATCH] End OSC8 hyperlink on invalid embedded escape sequence.
+
+--- a/line.c
++++ b/line.c
+@@ -633,8 +633,8 @@ ansi_step(pansi, ch)
+               /* Hyperlink ends with \7 or ESC-backslash. */
+               if (ch == '\7')
+                       return ANSI_END;
+-              if (pansi->prev_esc && ch == '\\')
+-                      return ANSI_END;
++              if (pansi->prev_esc)
++            return (ch == '\\') ? ANSI_END : ANSI_ERR;
+               pansi->prev_esc = (ch == ESC);
+               return ANSI_MID;
+       }
+

diff --git a/sys-apps/less/less-608-r2.ebuild b/sys-apps/less/less-608-r2.ebuild
new file mode 100644
index 000000000000..29f94fcfdae4
--- /dev/null
+++ b/sys-apps/less/less-608-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WANT_AUTOMAKE=none
+WANT_LIBTOOL=none
+inherit autotools
+
+DESCRIPTION="Excellent text file viewer"
+HOMEPAGE="http://www.greenwoodsoftware.com/less/";
+SRC_URI="http://www.greenwoodsoftware.com/less/${P}.tar.gz";
+
+LICENSE="|| ( GPL-3 BSD-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos 
~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="pcre unicode"
+
+DEPEND=">=app-misc/editor-wrapper-3
+       >=sys-libs/ncurses-5.2:0=
+       pcre? ( dev-libs/libpcre2 )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       local PATCHES=(
+               "${FILESDIR}/less-608-procfs.patch"
+               "${FILESDIR}/less-608-CVE-2022-46663.patch"
+       )
+
+       default
+       # Upstream uses unpatched autoconf-2.69, which breaks with clang-16.
+       # https://bugs.gentoo.org/870412
+       eautoreconf
+}
+
+src_configure() {
+       export ac_cv_lib_ncursesw_initscr=$(usex unicode)
+       export ac_cv_lib_ncurses_initscr=$(usex !unicode)
+       local myeconfargs=(
+               --with-regex=$(usex pcre pcre2 posix)
+               --with-editor="${EPREFIX}"/usr/libexec/editor
+       )
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       newbin "${FILESDIR}"/lesspipe-r1.sh lesspipe
+       newenvd "${FILESDIR}"/less.envd 70less
+}
+
+pkg_preinst() {
+       if has_version "<${CATEGORY}/${PN}-483-r1" ; then
+               elog "The lesspipe.sh symlink has been dropped.  If you are 
still setting"
+               elog "LESSOPEN to that, you will need to update it to 
'|lesspipe %s'."
+               elog "Colorization support has been dropped.  If you want that, 
check out"
+               elog "the new app-text/lesspipe package."
+       fi
+}

Reply via email to