OSV 1.4.0 · github-reviewed · 修改于 2026-08-29 02:06
发布时间
2026-08-29 02:06
GitHub 审查时间
2026-08-29 02:06
NVD 发布时间
2026-07-11 03:17
源文件
advisories/github-reviewed/2026/08/GHSA-575r-357h-fhch/GHSA-575r-357h-fhch.json
The API endpoint for updating asset maintenance records allows an authorized user to change the asset_id of an existing maintenance record to an asset outside their company scope.
In a Full Multiple Company Support / multi-company deployment, this allows a user from Company A to attach or move a maintenance record onto an asset belonging to Company B. The endpoint appears to authorize access to the existing maintenance record’s asset, but does not re-authorize the newly supplied asset_id before saving the update.
PATCH /api/v1/maintenances/{maintenance_id}
Also likely affected:
PUT /api/v1/maintenances/{maintenance_id}
The attacker needs:
The attacker does not need access to the target asset’s company.
In the API maintenance update flow, the application checks access to the current maintenance record / current asset, then accepts attacker-controlled fields including asset_id.
The vulnerable behavior is that the new asset_id is not checked against the current user’s company scope before being saved.
app/Http/Controllers/Api/MaintenancesController.php
The update method loads the maintenance, checks access to the existing $maintenance->asset, then calls:
$maintenance->fill($request->all());
$maintenance->save();
Since asset_id is fillable on the maintenance model, the attacker can re-parent the record to another company’s asset.
Is there a way for users to fix or remediate the vulnerability without upgrading?
This breaks tenant/company isolation in multi-company deployments. A scoped user can write maintenance records against assets outside their authorized company boundary.
Potential impact includes:
This is not intended functionality because the application’s company-scoping model should prevent users from writing records onto inaccessible assets.