<?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>InvoiceShelf (2.4.3, 3.0.0-Alpha.3) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/invoiceshelf-2.4.3-3.0.0-alpha.3/</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>Fri, 06 Nov 2026 02:20:35 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/invoiceshelf-2.4.3-3.0.0-alpha.3/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>InvoiceShelf: Cross-tenant privilege escalation (CVE-2026-122158)</title><link>https://feed.craftedsignal.io/briefs/2026-11-invoiceshelf-privilege-escalation/</link><pubDate>Fri, 06 Nov 2026 02:20:35 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-invoiceshelf-privilege-escalation/</guid><description>InvoiceShelf versions 2.4.3 and 3.0.0-alpha.3 are vulnerable to cross-tenant privilege escalation allowing an authenticated tenant owner to gain administrative control over other tenants on the same installation.</description><content:encoded><![CDATA[<p>InvoiceShelf contains a cross-tenant privilege escalation vulnerability (CVE-2026-122158) stemming from improper authorization checks during member creation and update operations. The application fails to validate that a company owner is authorized to manage memberships for companies other than their own, allowing an attacker to assign themselves or another account an arbitrary role (including 'owner') within a target tenant.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to InvoiceShelf as an owner of a legitimate tenant (Company A).</li>
<li>Attacker initiates a <code>POST</code> or <code>PATCH</code> request to the member management API (<code>/api/v1/members</code>).</li>
<li>Attacker includes a <code>companies</code> array in the request body containing the ID of a target victim tenant (Company B) and an elevated role assignment (e.g., <code>owner</code>).</li>
<li>The application service layer processes the request.</li>
<li>The <code>MemberService::create()</code> or <code>update()</code> methods receive the malicious payload.</li>
<li>The application performs a Bouncer authorization scope switch to the victim tenant ID without validating that the attacker is an owner of that specific company.</li>
<li>The application synchronizes the attacker's account role with the victim company, granting the requested privilege.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an authenticated user to bypass tenant isolation, granting unauthorized access to financial records, customer data, and administrative settings of other tenants on the same installation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade InvoiceShelf to version 2.4.4 or 3.0.0-alpha.4 or later immediately.</li>
<li>Review system logs for unexpected membership changes or administrative role assignments occurring via API requests, specifically looking for <code>POST</code> or <code>PATCH</code> requests to <code>/api/v1/members</code> containing cross-company IDs.</li>
<li>Audit existing tenant memberships for anomalous 'owner' roles assigned to accounts that should not have cross-tenant access.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category><category>web-application</category><category>privilege-escalation</category><category>authentication-bypass</category></item></channel></rss>