[repro 21:19:00] cache dir: /pruva/project-cache [repro 21:19:00] vulnerable soffice: /pruva/project-cache/lo-install/vuln/opt/libreoffice26.2/program/soffice [repro 21:19:00] fixed soffice: /pruva/project-cache/lo-install/fixed/opt/libreoffice26.2/program/soffice [repro 21:19:01] [vulnerable-1] launching soffice (/pruva/project-cache/lo-install/vuln/opt/libreoffice26.2/program/soffice) against port 40337 /workspace/bundle/repro/proof/vulnerable-1/http_server.py:21: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). line = f"{datetime.datetime.utcnow().isoformat()}Z {self.client_address[0]} {self.command} {self.path} ua={self.headers.get('User-Agent','')}" [repro 21:19:11] [vulnerable-1] playlist_fetched=true ssrf=true lfi=true (waited up to 120s) [repro 21:19:11] [vulnerable-2] launching soffice (/pruva/project-cache/lo-install/vuln/opt/libreoffice26.2/program/soffice) against port 52587 /workspace/bundle/repro/proof/vulnerable-2/http_server.py:21: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). line = f"{datetime.datetime.utcnow().isoformat()}Z {self.client_address[0]} {self.command} {self.path} ua={self.headers.get('User-Agent','')}" [repro 21:19:21] [vulnerable-2] playlist_fetched=true ssrf=true lfi=true (waited up to 120s) [repro 21:19:22] [fixed-1] launching soffice (/pruva/project-cache/lo-install/fixed/opt/libreoffice26.2/program/soffice) against port 58471 [repro 21:20:26] [fixed-1] playlist_fetched=false ssrf=false lfi=false (waited up to 60s) [repro 21:20:27] [fixed-2] launching soffice (/pruva/project-cache/lo-install/fixed/opt/libreoffice26.2/program/soffice) against port 47153 [repro 21:21:31] [fixed-2] playlist_fetched=false ssrf=false lfi=false (waited up to 60s) [repro 21:21:31] results: attempt=vulnerable-1 playlist_fetched=true ssrf=true lfi=true; attempt=vulnerable-2 playlist_fetched=true ssrf=true lfi=true; attempt=fixed-1 playlist_fetched=false ssrf=false lfi=false; attempt=fixed-2 playlist_fetched=false ssrf=false lfi=false; wrote runtime_manifest.json; confirmed=true [repro 21:21:31] CVE-2026-63269 CONFIRMED: GStreamer followed the document-linked HLS playlist, fetched the remote URL (SSRF) and read the local file (LFI); fixed build did not. SCRIPT_EXIT=0