Skip to content

Commit

Permalink
Workaround for CVE-2022-39253 mitigation
Browse files Browse the repository at this point in the history
The CVE-2022-39253 breaks the 'file' transport for submodules.
Setting protocol.file.allow=always reverts to the unsafe behavior,
which is fine because we never operate on untrusted input from
third parties anyway.
  • Loading branch information
roehling committed Dec 9, 2022
1 parent 2ca14bd commit 1e7f4b5
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions test.bats
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ add_submodule()
local path="${3:-$submodule}"
echo "+++ adding submodule $submodule to repo $repo"
mkdir -p "$repo/$(dirname "$path")"
git -C "$repo" submodule add ../"$submodule" "$path"
git -c protocol.file.allow=always -C "$repo" submodule add ../"$submodule" "$path"
git -C "$repo" add .
git -C "$repo" commit -m "add submodule"
}
Expand Down Expand Up @@ -398,7 +398,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing $(git rev-parse HEAD)
local tar_files=(.gitmodules beta/.gitmodules)
repo_files tar_files+ alpha
Expand All @@ -414,7 +414,7 @@ check_tar_content()
add_submodule beta gamma other_subdir/gamma
add_submodule alpha beta subdir/beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing $(git rev-parse HEAD)
local tar_files=(.gitmodules subdir/beta/.gitmodules)
repo_files tar_files+ alpha
Expand All @@ -430,7 +430,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing --no-recursive $(git rev-parse HEAD)
local tar_files=(.gitmodules beta/.gitmodules)
repo_files tar_files+ alpha
Expand Down Expand Up @@ -460,7 +460,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing --prefix=prefix/ $(git rev-parse HEAD)
local tar_files=(prefix/.gitmodules prefix/beta/.gitmodules)
repo_files tar_files+ alpha prefix/
Expand All @@ -476,7 +476,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing --no-recursive $(git rev-parse HEAD) beta/gamma/gamma_folder
local tar_files=()
check_tar_content test.tar "${tar_files[@]}"
Expand All @@ -489,7 +489,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing --prefix=prefix/ $(git rev-parse HEAD) beta/gamma/gamma_folder
local tar_files
repo_files tar_files gamma prefix/beta/gamma/
Expand All @@ -506,7 +506,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing $(git rev-parse HEAD) beta/gamma/gamma_folder
local tar_files
repo_files tar_files gamma beta/gamma/
Expand All @@ -524,7 +524,7 @@ check_tar_content()
add_submodule beta gamma
add_submodule alpha beta
cd alpha
git submodule update --init --recursive
git -c protocol.file.allow=always submodule update --init --recursive
run_git_archive_all -o test.tar --fail-missing --prefix=pre$'\n'fix/ $(git rev-parse HEAD)
local tar_files=(pre$'\n'fix/.gitmodules pre$'\n'fix/beta/.gitmodules)
repo_files tar_files+ alpha pre$'\n'fix/
Expand Down

0 comments on commit 1e7f4b5

Please sign in to comment.