Repository navigation
PHP2Shell v2.7.2
PHP2Shell v2.7.2
Published: 24 October 2026
Tag: v2.7.2
Stabilization release: enterprise QA for vulnerability assessment accuracy, console/HTML usability, WAF/status integrity, Apache-2.0 licensing, and distribution-readiness documentation — including informational CVE-2026-115560 assessment on top of v2.7.1. Does not overwrite v2.7.1 (or earlier) release assets.
Downloads
php2shell-windows-amd64.zip— Windows 10 / Server 2016+ (primary Go toolchain)php2shell-windows-legacy-amd64.zip— Go 1.20.14 build for Windows Server 2012 R2 testing (see limitations below)php2shell-linux-amd64.tar.gz/php2shell-linux-arm64.tar.gzphp2shell-darwin-amd64.tar.gz/php2shell-darwin-arm64.tar.gz(developer convenience)
Verify SHA256SUMS. Binaries are not code-signed. Confirm php2shell version prints 2.7.2 (and (legacy) for the legacy Windows EXE). License: Apache License 2.0.
What is new
Enterprise QA and assessment accuracy
- Humanized console summary; patch-first HTML executive cards; PHP lifecycle notes; optional IR cards only when investigation applies (after recommended next steps)
- Prerelease / glued RC versions are not auto-approved as patched
- CVE-2026-115560: observe
session.serialize_handlerwithsession.upload_progress.enabled(static php.ini text only); conservative Additional Advisories statuses; no invented fixed versions; does not alter CVE-2026-109618 / CVE-2026-109619 thresholds (8.5.12 / 8.4.27 / 8.3.36 / 8.2.35) - Bare inventories without php.ini evidence do not emit a misleading Additional Advisories banner; 115560 findings do not alone force exit code 2
WAF and status integrity
- Cloudflare WAF:
RuleID/ruleId/rule_idallowlist matching; truncated or partially parsed JSONL → incomplete (TRUNCATED/UNAVAILABLE), not “complete” - Status JSON:
status_json_written+ HTML-sibling fallbacks soOUTPUT_WRITE_FAILEDis machine-detectable for Intune/PSADT
Licensing and release integrity
- Apache License 2.0 applied (
LICENSE); priorLICENSE.proposedplaceholder removed - Legacy Windows build verifies Go 1.20.14 archive SHA-256 (including cache); release workflow binds
workflow_dispatchpublishes to the named tag commit
Documentation
- Understanding Reports; Intune / GPO / report-collection guides; Authenticode plan; README Quick Start without
--quietfor interactive first runs - PSADT reference: preserves scanner exit 0/1/2, stale-report guard, status validation
Preserved from v2.7.1
- IR accuracy, Cloudflare WAF ingest, Windows legacy artifact, exit-code / quiet status line contract
Limitations (read before deploying)
- Process completion / exit 0 is not a vulnerability or compromise clearance
- Missing evidence is not a negative finding; active HTTP-serving SAPI is still not attested
- Vendor backports require separate verification
- Windows Server 2012 R2: legacy EXE for testing; not production-validated across all environments — see WINDOWS-LEGACY-2012R2.md
- Legacy Go 1.20.14 is end-of-support — prefer the standard Windows build on Win10 / Server 2016+
- Binaries remain unsigned (SmartScreen / application control may apply); verify
SHA256SUMS - Intune / GPO guides are reference designs — live tenant/domain field validation is customer-specific
- Standard Intune Win32 app deployment does not cover Windows Server
Out of scope for v2.7.2
- New WAF vendors, general-purpose PHP CVE scanning, invented CVE-2026-115560 fixed builds
- Authenticode / notarization (tracked for a later public-distribution milestone)
- Built-in cloud upload / mandatory report collection service