<?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://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-13T07:18:40.447727+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" 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://cve.radiocsirt.org/vuln/bdu:2026-07455</id>
    <title>bdu:2026-07455</title>
    <updated>2026-10-13T07:18:40.450801+00:00</updated>
    <content>bdu:2026-07455</content>
    <link href="https://cve.radiocsirt.org/vuln/bdu:2026-07455"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-319284</id>
    <title>EUVD-2026-319284</title>
    <updated>2026-10-13T07:18:40.450828+00:00</updated>
    <content>EUVD-2026-319284</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-319284"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-45316</id>
    <title>fkie_cve-2026-45316</title>
    <updated>2026-10-13T07:18:40.450841+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, the POST /api/v1/notes/{id}/pin endpoint performs a write operation (toggling the is_pinned field) but only checks for read permission. Users with read-only access to a shared note can pin/unpin it, which is a state-modifying action that should require write permission. This vulnerability is fixed in 0.9.3.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-45316"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-jx2x-j75f-xq3j</id>
    <title>GHSA-jx2x-j75f-xq3j — Open WebUI: Read-Only Users Can Toggle Note Pin Status via Incorrect Permission Check (Write via Read-Only Access)</title>
    <updated>2026-10-13T07:18:40.450875+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: open-webui</p>
<p>### Summary</p>
<p>The `POST /api/v1/notes/{id}/pin` endpoint performs a write operation (toggling the `is_pinned` field) but only checks for `read` permission. Users with read-only access to a shared note can pin/unpin it, which is a state-modifying action that should require `write` permission. All other write endpoints (update, delete, access/update) correctly check for `write` permission.</p>
<p>### Details</p>
<p>**Affected code: `backend/open_webui/routers/notes.py` lines 412-444**</p>
<p>```python
@router.post('/{id}/pin', response_model=Optional[NoteModel])
async def pin_note_by_id(...):
    # ...
    if user.role != 'admin' and (
        user.id != note.user_id
        and not await AccessGrants.has_access(
            user_id=user.id,
            resource_type='note',
            resource_id=note.id,
            permission='read',        # BUG: should be 'write'
            db=db,
        )
    ):
        raise HTTPException(...)
    
    note = await Notes.toggle_note_pinned_by_id(id, db=db)  # write operation
```</p>
<p>**Compare with update endpoint (correct, line 318-327):**
```python
async def update_note_by_id(...):
    # ...
    and not await AccessGrants.has_access(
        permission='write',        # correctly checks 'write'
    )
```</p>
<p>### PoC</p>
<p>**Environment:** Open WebUI v0.9.2, default configuration with notes sharing enabled.</p>
<p>**Setup:**
1. UserA creates a note
2. UserA shares note with UserB with `read` permission via `POST /api/v1/notes/{id}/access/update` with `{"access_grants":…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-jx2x-j75f-xq3j"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-2745</id>
    <title>PYSEC-2026-2745 — Open WebUI: Read-Only Users Can Toggle Note Pin Status via Incorrect Permission Check (Write via Read-Only Access)</title>
    <updated>2026-10-13T07:18:40.450930+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: open-webui</p>
<p>### Summary</p>
<p>The `POST /api/v1/notes/{id}/pin` endpoint performs a write operation (toggling the `is_pinned` field) but only checks for `read` permission. Users with read-only access to a shared note can pin/unpin it, which is a state-modifying action that should require `write` permission. All other write endpoints (update, delete, access/update) correctly check for `write` permission.</p>
<p>### Details</p>
<p>**Affected code: `backend/open_webui/routers/notes.py` lines 412-444**</p>
<p>```python
@router.post('/{id}/pin', response_model=Optional[NoteModel])
async def pin_note_by_id(...):
    # ...
    if user.role != 'admin' and (
        user.id != note.user_id
        and not await AccessGrants.has_access(
            user_id=user.id,
            resource_type='note',
            resource_id=note.id,
            permission='read',        # BUG: should be 'write'
            db=db,
        )
    ):
        raise HTTPException(...)
    
    note = await Notes.toggle_note_pinned_by_id(id, db=db)  # write operation
```</p>
<p>**Compare with update endpoint (correct, line 318-327):**
```python
async def update_note_by_id(...):
    # ...
    and not await AccessGrants.has_access(
        permission='write',        # correctly checks 'write'
    )
```</p>
<p>### PoC</p>
<p>**Environment:** Open WebUI v0.9.2, default configuration with notes sharing enabled.</p>
<p>**Setup:**
1. UserA creates a note
2. UserA shares note with UserB with `read` permission via `POST /api/v1/notes/{id}/access/update` with `{"access_grants":…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-2745"/>
  </entry>
</feed>
