Skip to content

Commit 67f9fb9

Browse files
committed
Validate header mode
Signed-off-by: Paulo Gomes <[email protected]>
1 parent b9c08c7 commit 67f9fb9

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

internal/tgz/tgz.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ package tgz
33
import (
44
"archive/tar"
55
"compress/gzip"
6+
"errors"
67
"fmt"
78
"io"
9+
"math"
810
"os"
911

1012
"github.com/go-git/go-billy/v5"
@@ -59,6 +61,9 @@ func unTar(fs billy.Filesystem, src *tar.Reader) error {
5961
}
6062

6163
dst := header.Name
64+
if header.Mode > math.MaxUint32 || header.Mode < 0 {
65+
return errors.New("cannot use header mode as filemode")
66+
}
6267
mode := os.FileMode(header.Mode)
6368
switch header.Typeflag {
6469
case tar.TypeDir:

0 commit comments

Comments
 (0)