mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 13:58:15 -05:00
gnu: rxvt-unicode: Disable an unwanted code execution vector.
* gnu/packages/patches/rxvt-unicode-escape-sequences.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/xdisorg.scm (rxvt-unicode)[source]: Use it.
This commit is contained in:
parent
5cd0122e60
commit
0fd0bb56a8
3 changed files with 37 additions and 0 deletions
|
@ -972,6 +972,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/ruby-puma-ignore-broken-test.patch \
|
%D%/packages/patches/ruby-puma-ignore-broken-test.patch \
|
||||||
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
|
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
|
||||||
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
|
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
|
||||||
|
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
|
||||||
%D%/packages/patches/scheme48-tests.patch \
|
%D%/packages/patches/scheme48-tests.patch \
|
||||||
%D%/packages/patches/scotch-test-threading.patch \
|
%D%/packages/patches/scotch-test-threading.patch \
|
||||||
%D%/packages/patches/screen-fix-info-syntax-error.patch \
|
%D%/packages/patches/screen-fix-info-syntax-error.patch \
|
||||||
|
|
35
gnu/packages/patches/rxvt-unicode-escape-sequences.patch
Normal file
35
gnu/packages/patches/rxvt-unicode-escape-sequences.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
This patch prevents a code execution vector involving terminal escape
|
||||||
|
sequences when rxvt-unicode is in "secure mode".
|
||||||
|
|
||||||
|
This change was spurred by the following conversation on the
|
||||||
|
oss-security mailing list:
|
||||||
|
|
||||||
|
Problem description and proof of concept:
|
||||||
|
http://seclists.org/oss-sec/2017/q2/190
|
||||||
|
|
||||||
|
Upstream response:
|
||||||
|
http://seclists.org/oss-sec/2017/q2/291
|
||||||
|
|
||||||
|
Patch copied from upstream source repository:
|
||||||
|
http://cvs.schmorp.de/rxvt-unicode/src/command.C?r1=1.582&r2=1.583
|
||||||
|
|
||||||
|
--- rxvt-unicode/src/command.C 2016/07/14 05:33:26 1.582
|
||||||
|
+++ rxvt-unicode/src/command.C 2017/05/18 02:43:18 1.583
|
||||||
|
@@ -2695,7 +2695,7 @@
|
||||||
|
/* kidnapped escape sequence: Should be 8.3.48 */
|
||||||
|
case C1_ESA: /* ESC G */
|
||||||
|
// used by original rxvt for rob nations own graphics mode
|
||||||
|
- if (cmd_getc () == 'Q')
|
||||||
|
+ if (cmd_getc () == 'Q' && option (Opt_insecure))
|
||||||
|
tt_printf ("\033G0\012"); /* query graphics - no graphics */
|
||||||
|
break;
|
||||||
|
|
||||||
|
@@ -2914,7 +2914,7 @@
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CSI_CUB: /* 8.3.18: (1) CURSOR LEFT */
|
||||||
|
- case CSI_HPB: /* 8.3.59: (1) CHARACTER POSITION BACKWARD */
|
||||||
|
+ case CSI_HPB: /* 8.3.59: (1) CHARACTER POSITION BACKWARD */
|
||||||
|
#ifdef ISO6429
|
||||||
|
arg[0] = -arg[0];
|
||||||
|
#else /* emulate common DEC VTs */
|
|
@ -682,6 +682,7 @@ (define-public rxvt-unicode
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
|
(uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/"
|
||||||
name "-" version ".tar.bz2"))
|
name "-" version ".tar.bz2"))
|
||||||
|
(patches (search-patches "rxvt-unicode-escape-sequences.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
|
"1pddjn5ynblwfrdmskylrsxb9vfnk3w4jdnq2l8xn2pspkljhip9"))))
|
||||||
|
|
Loading…
Reference in a new issue