diff --git a/Changes.md b/Changes.md
index 6a645c7..d042516 100644
--- a/Changes.md
+++ b/Changes.md
@@ -2,6 +2,13 @@
---
+## 2026-07-27 – Fix: Reflektiertes XSS über _error-Parameter bei Rechnungs-Zahlungserfassung (Issue #132)
+
+- `InvoiceController::book()` übernahm den Fehler-Array ungeprüft direkt aus `$_GET['_error']` und reichte ihn an die View weiter. Da `_error` nirgendwo serverseitig befüllt wird und der CSRF-Schutz nur für POST/PUT/DELETE/PATCH greift, konnte ein Angreifer per einfachem Link (`GET /invoices/{id}/book?_error[x]=';
+ $getBackup = $_GET;
+ $_GET['_error'] = ['x' => $payload];
+
+ try {
+ $controller = new \Steuerkram\Controllers\InvoiceController();
+ ob_start();
+ $controller->book(['id' => (string)$invoiceId]);
+ $html = ob_get_clean();
+ } finally {
+ $_GET = $getBackup;
+ }
+
+ $this->assert(
+ !str_contains($html, $payload),
+ 'Roher