
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-55518 is a critical missing authorization vulnerability in the Avo Ruby on Rails admin framework that allows authenticated low-privileged users to bypass association attach controls and directly manipulate record relationships. The flaw exists in the Avo::AssociationsController#create endpoint, which performs no authorization check before writing association changes. Affected versions include avo (RubyGems) <= 3.32.0 and >= 4.0.0.beta.1, < 4.0.0.beta.51. It was published on June 17, 2026, with patched versions 3.32.1 and 4.0.0.beta.51 released the same day. The CVSS v3.1 base score is 9.6 (Critical) (GitHub Advisory, Avo Security Advisory).
The root cause is a missing server-side authorization check on the create action of Avo::AssociationsController (CWE-862, CWE-863, CWE-639). The before_action :authorize_attach_action callback is registered only for the new action (the form-rendering step), not for create (the actual write step), creating an inconsistency where the UI path is protected but the mutating POST /resources/:resource/:id/:related endpoint is not. An attacker with any authenticated session can craft a direct HTTP POST request — bypassing the UI entirely — to attach arbitrary related records to a parent record, supplying a user-controlled fields[related_id] parameter. This is inconsistent with the destroy (detach) path, which correctly applies authorize_detach_action. A public proof-of-concept Python script (poc_avo_association_attach_bypass.py) was included in the advisory (GitHub Advisory, Avo Security Advisory).
Successful exploitation allows an authenticated low-privileged user to manipulate authorization-bearing associations without restriction, leading to privilege escalation (e.g., attaching oneself to an admin group, privileged project, or role), cross-tenant data exposure (when membership determines record visibility), and integrity loss through unauthorized changes to ownership, assignment, or business workflow state. The scope change in the CVSS score reflects that a compromise of the Avo admin layer can affect resources and data across the broader application, including other tenants or users. Policy controls that correctly hide the attach button in the UI are fully bypassed, rendering UI-level access controls ineffective (GitHub Advisory).
/admin) with authorization enabled. Confirm the Avo version is <= 3.32.0 or >= 4.0.0.beta.1, < 4.0.0.beta.51._app_session=<token>).projects/1) and the related record ID to attach (e.g., user ID 42).GET /admin/resources/projects/1/users/new — expect a 403 or redirect if the policy denies attach_users?.POST /admin/resources/projects/1/users
Content-Type: application/x-www-form-urlencoded
Cookie: _app_session=<token>
authenticity_token=<csrf_token>&fields[related_id]=42POST requests to /[avo-root]/resources/:resource/:id/:related from low-privileged user sessions, especially when the corresponding GET /new endpoint was not accessed immediately prior; requests with fields[related_id]=<id> in the body targeting sensitive associations (users, roles, teams, tenants).AssociationsController#create actions for users whose policy should deny attach_<association>?; association mutations (e.g., INSERT INTO join tables or UPDATE foreign key columns) not preceded by a form load (GET /new).project_users, team_memberships, role_assignments); low-privileged users appearing in admin groups, privileged projects, or cross-tenant records they should not have access to.Upgrade the avo gem to version 3.32.1 (for the v3 branch) or 4.0.0.beta.51 (for the v4 beta branch) immediately. As a temporary workaround if upgrading is not immediately possible, add before_action :authorize_attach_action, only: [:new, :create] to Avo::AssociationsController in a local override or initializer. Additionally, ensure that attach_<association>? policy methods fail closed (return false) and that explicit_authorization is enabled in Avo configuration. Audit existing association records for unauthorized relationships that may have been created prior to patching (GitHub Advisory, Avo Security Advisory).
The vulnerability was reported by researcher xIllunight and remediated by Paul-Bob, with the advisory published directly to the avo-hq/avo GitHub repository on June 17, 2026. Coverage appeared on security news outlets including SecurityOnline.info and Meterpreter.org shortly after disclosure, and the advisory was indexed by RubySec and GitLab's advisory database. No major vendor statements beyond the official GitHub advisory or notable social media controversy have been identified (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."