<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-05T14:05:11.370822+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-55515</id>
    <title>fkie_cve-2026-55515</title>
    <updated>2026-10-05T14:05:11.415527+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Snipe-IT is an IT asset/license management system. Prior to 8.6.2, the unaccepted-assets report delete endpoint authorizes only reports.view and deletes CheckoutAcceptance::pending()-&gt;find($acceptanceId) by global ID without checking access to the related checkoutable asset, allowing a reports user in one company to delete pending checkout acceptance records for another company. This issue is fixed in version 8.6.2.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-55515"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-35cr-9hqq-p2mg</id>
    <title>GHSA-35cr-9hqq-p2mg — Snipe-IT: Cross-company deletion of pending checkout acceptances via unscoped report endpoint</title>
    <updated>2026-10-05T14:05:11.415758+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Packagist: snipe/snipe-it</p>
<p>### Impact
A user with the `reports.view` permission can delete pending checkout acceptance records by global ID, even when the acceptance belongs to an asset in another company.</p>
<p>The report listing page appears to scope visible unaccepted assets, but the delete endpoint directly looks up CheckoutAcceptance::pending()-&gt;find($acceptanceId) and deletes it without checking whether the current user has access to the related checkoutable asset.</p>
<p>### Preconditions
The attacker needs:
- A valid authenticated web session.
- `reports.view` permission.
- Knowledge or guessability of a pending `checkout_acceptances.id`.</p>
<p>The attacker does not need access to the asset/company associated with the target acceptance.</p>
<p>### Root cause
The delete action authorizes only report access, then deletes a pending acceptance by global ID:</p>
<p>```php</p>
<p>$this-&gt;authorize('reports.view');</p>
<p>$acceptance = CheckoutAcceptance::pending()-&gt;find($acceptanceId);</p>
<p>$acceptance-&gt;delete();
```</p>
<p>The code does not check whether the current user can access the acceptance’s related checkoutable asset/accessory/license/etc.
In multi-company mode, this allows a reports user from one company to delete acceptance records belonging to another company.</p>
<p>### Proof of concept
#### Target acceptance belongs to Company B</p>
<p>The target pending acceptance was identified as id=1.</p>
<p>```sql
snipe_sql "SELECT ca.id ca.checkoutable_id, ca.deleted_at, a.asset_tag, a.company_id
FROM checkout_acceptances ca
JOIN assets a ON a.id = ca.checkoutabl…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-35cr-9hqq-p2mg"/>
  </entry>
</feed>
