<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Probo - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/probo/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 17 Aug 2026 14:53:37 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/probo/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Probo Cross-Tenant IDOR Vulnerability (CVE-2026-63505)</title><link>https://feed.craftedsignal.io/briefs/2026-08-probo-idor/</link><pubDate>Mon, 17 Aug 2026 14:53:37 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-probo-idor/</guid><description>Probo versions 0.222.2 and earlier are vulnerable to a cross-tenant Insecure Direct Object Reference (IDOR) flaw allowing unauthorized retrieval of confidential risk information due to missing tenant scoping.</description><content:encoded><![CDATA[<p>Probo version 0.222.2 and earlier contains an Insecure Direct Object Reference (IDOR) vulnerability, tracked as CVE-2026-63505. The flaw exists because the Finding and Risk data resolvers fail to enforce tenant-scoped validation when referencing Risk IDs during the creation or update of Findings. Specifically, the system authorizes the parent Finding, but the dataloader uses the GID of the Risk object itself to scope the retrieval, effectively bypassing multi-tenancy isolation. An attacker belonging to one organization can reference a Risk ID belonging to a different organization, resulting in unauthorized cross-tenant data access. This vulnerability was disclosed alongside a PoC demonstrating the ability to read sensitive, cross-tenant risk data. The issue is resolved in Probo version 0.223.1.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to a legitimate tenant account in the target Probo instance.</li>
<li>Attacker enumerates or identifies a target Risk ID belonging to a different tenant.</li>
<li>Attacker crafts a POST/PUT request to the FindingService API endpoint responsible for creation or updates.</li>
<li>Attacker includes the target Risk ID (from a different tenant) within the 'riskId' parameter of the API request.</li>
<li>The application performs a server-side store operation without validating if the provided Risk ID belongs to the current user's tenant.</li>
<li>The application later triggers a read operation for the Finding via the audit_resolvers.</li>
<li>The application's dataloader incorrectly scopes the retrieval by the Risk object's own GID rather than the user's tenant.</li>
<li>The application discloses the confidential data associated with the cross-tenant Risk object to the attacker.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for the unauthorized retrieval of sensitive and confidential risk data across different organizational tenants. This leads to the compromise of data integrity and confidentiality for any user of a multi-tenant Probo deployment. The severity is high for platforms hosting multiple distinct organizations.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritize the upgrade of all Probo instances to version 0.223.1 or later to remediate CVE-2026-63505. Implement monitoring for API requests targeting the 'FindingService' where the 'riskId' parameter is supplied by the user. Ensure that internal data access layers enforce mandatory tenant-scope checks that cannot be overridden by object-specific GID lookups.</p>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category></item></channel></rss>