{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-82911","assignerOrgId":"4daa8cea-433a-44bd-9456-53b127fc289a","state":"PUBLISHED","assignerShortName":"Secur0","dateReserved":"2026-08-31T10:22:08.667Z","datePublished":"2026-09-04T15:33:44.562Z","dateUpdated":"2026-09-04T19:31:33.575Z"},"containers":{"cna":{"providerMetadata":{"orgId":"4daa8cea-433a-44bd-9456-53b127fc289a","shortName":"Secur0","dateUpdated":"2026-09-04T15:33:44.562Z"},"title":"CSRF in Prospero Flow CRM order confirmation allows unauthorized order state changes","datePublic":"2026-07-30T00:00:00.000Z","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-352","description":"CWE-352 Cross-Site Request Forgery (CSRF)","type":"CWE"}]}],"impacts":[{"capecId":"CAPEC-62","descriptions":[{"lang":"en","value":"CAPEC-62 Cross-Site Request Forgery"}]}],"affected":[{"vendor":"Roskus","product":"Prospero Flow CRM","repo":"https://github.com/Roskus/prospero-flow-crm","modules":["Order"],"programFiles":["routes/module/order.php","resources/views/order/index.blade.php","app/Http/Controllers/Order/OrderConfirmController.php"],"versions":[{"status":"affected","version":"0","lessThan":"5.15.11","versionType":"semver"}],"defaultStatus":"unaffected","cpes":["cpe:2.3:a:roskus:prospero_flow_crm:*:*:*:*:*:*:*:*"]}],"cpeApplicability":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:roskus:prospero_flow_crm:*:*:*:*:*:*:*:*","versionStartIncluding":"0","versionEndExcluding":"5.15.11"}]}]}],"descriptions":[{"lang":"en","value":"Cross-Site Request Forgery (CSRF) in the OrderConfirmController at GET /order/confirm/{order_number} in Roskus Prospero Flow CRM before 5.15.11 allows an unauthenticated attacker to confirm any order on behalf of an authenticated user by directing them to a crafted page. Laravel's VerifyCsrfToken middleware enforces CSRF tokens only on POST, PUT, PATCH, and DELETE requests; the Route::get declaration leaves this state-changing action unprotected. Session cookies configured with SameSite=Lax are automatically included in top-level cross-site navigation, so a single link click triggers OrderConfirmController::confirm() and transitions the target order from pending to confirmed without user authorization. Because order numbers are sequential integers, an attacker can enumerate and confirm all existing orders in a single automated sweep.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>Cross-Site Request Forgery (CSRF) in the <code>OrderConfirmController</code> at <code>GET /order/confirm/{order_number}</code> in Roskus Prospero Flow CRM before 5.15.11 allows an unauthenticated attacker to confirm any order on behalf of an authenticated user by directing them to a crafted page. Laravel's <code>VerifyCsrfToken</code> middleware enforces CSRF tokens only on <code>POST</code>, <code>PUT</code>, <code>PATCH</code>, and <code>DELETE</code> requests; the <code>Route::get</code> declaration leaves this state-changing action unprotected. Session cookies configured with <code>SameSite=Lax</code> are automatically included in top-level cross-site navigation, so a single link click triggers <code>OrderConfirmController::confirm()</code> and transitions the target order from <code>pending</code> to <code>confirmed</code> without user authorization. Because order numbers are sequential integers, an attacker can enumerate and confirm all existing orders in a single automated sweep.</p>"}]}],"tags":["x_open-source"],"references":[{"url":"https://github.com/Roskus/prospero-flow-crm/commit/a90c0c8c","tags":["patch"]},{"url":"https://secur0.com/en/cna/cve-list/cve-2026-82911-csrf-order-confirmation-prospero-flow-crm","tags":["third-party-advisory","technical-description"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"ACTIVE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"MEDIUM","baseScore":5.1,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"}}],"solutions":[{"lang":"en","value":"Upgrade to 5.15.11 or later from the main branch; no tagged release carries the fix.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>Upgrade to 5.15.11 or later from the main branch; no tagged release carries the fix.</p>"}]}],"credits":[{"lang":"en","value":"Darío Chacón","type":"finder"},{"lang":"en","value":"Mario Álvarez","type":"finder"},{"lang":"en","value":"Darío Rivas Quero","type":"analyst"},{"lang":"en","value":"Cristian Fernández Cornejo","type":"analyst"},{"lang":"en","value":"Secur0 CNA","type":"coordinator"},{"lang":"en","value":"Gustavo Novaro","type":"remediation developer"}],"source":{"discovery":"EXTERNAL"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-04T19:31:22.351871Z","id":"CVE-2026-82911","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-04T19:31:33.575Z"}}]}}