https://bugs.gentoo.org/598334

From 7340f67b9860ea0531c1450e5aa261c50f67165d Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
Date: Sat, 29 Oct 2016 21:04:40 -0700
Subject: [PATCH] When extracting, skip ".." members

* NEWS: Document this.
* src/extract.c (extract_archive): Skip members whose names
contain "..".
---
 NEWS          | 8 +++++++-
 src/extract.c | 8 ++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,16 @@
 GNU tar NEWS - User visible changes. 2016-05-16
 Please send GNU tar bug reports to <bug-tar@gnu.org>
 
+
+
+version 1.29-r2+ Gentoo
+
+* Member names containing '..' components are now skipped when extracting.
+
+This fixes tar's behavior to match its documentation, and is a bit
+safer when extracting untrusted archives over old files (an unsafe
+practice that the tar manual has long recommended against).
+
 
 version 1.29 - Sergey Poznyakoff, 2016-05-16
 
--- a/src/extract.c
+++ b/src/extract.c
@@ -1629,12 +1629,20 @@
 {
   char typeflag;
   tar_extractor_t fun;
+  bool skip_dotdot_name;
 
   fatal_exit_hook = extract_finish;
 
   set_next_block_after (current_header);
 
+  skip_dotdot_name = (!absolute_names_option
+		      && contains_dot_dot (current_stat_info.orig_file_name));
+  if (skip_dotdot_name)
+    ERROR ((0, 0, _("%s: Member name contains '..'"),
+	    quotearg_colon (current_stat_info.orig_file_name)));
+
   if (!current_stat_info.file_name[0]
+      || skip_dotdot_name
       || (interactive_option
 	  && !confirm ("extract", current_stat_info.file_name)))
     {
-- 
2.11.0.rc2

