<?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/"><channel><title>Avo — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/avo/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/avo/feed.xml" rel="self" type="application/rss+xml"/><item><title>Avo Framework Broken Access Control Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-avo-broken-access-control/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-avo-broken-access-control/</guid><description>Avo framework version 3.x contains a critical Broken Access Control vulnerability in the ActionsController. Due to insecure action lookup logic, an authenticated user can execute any Action class on any resource, even if the action is not registered for that specific resource. This leads to Privilege Escalation and unauthorized data manipulation across the entire application. Version 3.31.2 remediates this issue.</description><content:encoded><![CDATA[<p>A critical broken access control vulnerability exists within the Avo framework, specifically affecting version 3.x. This vulnerability resides in the <code>ActionsController</code> and stems from an insecure action lookup mechanism. An authenticated user, regardless of their privilege level, can execute any Action class (descendants of <code>Avo::BaseAction</code>) on any resource within the application. This occurs because the system fails to validate whether the requested action is legitimately registered or permitted for the resource context specified in the request. The absence of this verification allows for the circumvention of intended resource-action mappings. Successful exploitation leads to privilege escalation, unauthorized data manipulation, and potential compromise of the application&rsquo;s integrity. It is recommended to upgrade to version 3.31.2 or later, which addresses this vulnerability.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the Avo admin panel with low-level privileges.</li>
<li>The attacker identifies a sensitive action class, such as <code>Avo::Actions::ToggleAdmin</code>.</li>
<li>The attacker identifies a target record ID, such as a user ID they wish to manipulate.</li>
<li>The attacker crafts a POST request to a resource endpoint where the target action is NOT registered (e.g., <code>/admin/resources/posts/actions</code>).</li>
<li>The POST request includes a payload containing the <code>action_id</code> parameter set to the sensitive action class (<code>Avo::Actions::ToggleAdmin</code>).</li>
<li>The POST request also includes a <code>fields[avo_resource_ids]</code> parameter set to the target record ID.</li>
<li>Due to the insecure action lookup in <code>Avo::ActionsController</code>, the server executes the <code>ToggleAdmin</code> action on the specified user ID.</li>
<li>The attacker&rsquo;s privileges are escalated, or unauthorized data manipulation occurs due to the successful execution of the unintended action.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The exploitation of this broken access control vulnerability can have severe consequences. A successful attack can lead to privilege escalation, allowing attackers to gain administrative control over the application. Unauthorized operations can be performed, leading to data breaches or data manipulation. Sensitive actions designed for restricted resources can be triggered against any record ID, potentially compromising the integrity and confidentiality of data. The impact includes unauthorized deletion, archival, or updates to records, causing reputational damage and potential financial losses.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Avo version 3.31.2 or later, which contains the necessary fix to restrict action lookup to registered actions for the current resource context.</li>
<li>Deploy the Sigma rule <code>Detect Avo Unauthorized Action Execution</code> to monitor for attempts to execute actions on resources where they are not registered.</li>
<li>Review and audit existing Avo action registrations to ensure that actions are appropriately mapped to resources within the application.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>broken-access-control</category><category>privilege-escalation</category><category>ruby</category></item></channel></rss>