<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 15:47:31 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-308470</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-308470</link>
      <description>EUVD-2026-308470</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-308470</guid>
    </item>
    <item>
      <title>fkie_cve-2026-41572</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-41572</link>
      <description>&lt;p&gt;Note Mark is an open-source note-taking application. Prior to version 0.19.3, after a note-mark owner soft-deletes a public book, its notes and uploaded assets stay readable at /api/notes/{id}, /api/notes/{id}/content, the slug URL, and the asset endpoints. Unauthenticated callers who hold the note ID or the slug path retain access. GORM&amp;#39;s soft-delete scope does not reach the raw &amp;#34;JOIN books ...&amp;#34; clauses used by the note and asset queries. This issue has been patched in version 0.19.3.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Note Mark is an open-source note-taking application. Prior to version 0.19.3, after a note-mark owner soft-deletes a public book, its notes and uploaded assets stay readable at /api/notes/{id}, /api/notes/{id}/content, the slug URL, and the asset endpoints. Unauthenticated callers who hold the note ID or the slug path retain access. GORM&amp;#39;s soft-delete scope does not reach the raw &amp;#34;JOIN books ...&amp;#34; clauses used by the note and asset queries. This issue has been patched in version 0.19.3.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-41572</guid>
    </item>
    <item>
      <title>GHSA-3gr9-485j-v4xf — Note Mark: Unauthenticated read of notes and assets in soft-deleted public books</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-3gr9-485j-v4xf</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/enchant97/note-mark/backend&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;After a note-mark owner soft-deletes a public book, its notes and uploaded assets stay readable at `/api/notes/{id}`, `/api/notes/{id}/content`, the slug URL, and the asset endpoints. Unauthenticated callers who hold the note ID or the slug path retain access. GORM&amp;#39;s soft-delete scope does not reach the raw `JOIN books ...` clauses used by the note and asset queries.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;`DELETE /api/books/{bookID}` sets `books.deleted_at` to the current time. The book-level endpoint starts returning 404, which matches the owner&amp;#39;s expectation that the book is gone. The note service and asset service query notes with a raw join that does not filter `books.deleted_at IS NULL`:&lt;/p&gt;
&lt;p&gt;```go
// backend/services/notes.go:91-98 (GetNoteByID)
func (s NotesService) GetNoteByID(currentUserID *uuid.UUID, noteID uuid.UUID) (db.Note, error) {
    var note db.Note
    return note, dbErrorToServiceError(db.DB.
        Preload(&amp;#34;Book&amp;#34;).
        Joins(&amp;#34;JOIN books ON books.id = notes.book_id&amp;#34;).
        Where(&amp;#34;owner_id = ? OR is_public = ?&amp;#34;, currentUserID, true).
        First(&amp;amp;note, &amp;#34;notes.id = ?&amp;#34;, noteID).Error)
}
```&lt;/p&gt;
&lt;p&gt;GORM applies its soft-delete scope to the primary model of a query (here, `notes`) and to implicit `Joins(&amp;#34;Book&amp;#34;)` association clauses. It does not rewrite raw SQL passed to `Joins`. The soft-deleted book row keeps `is_public = true`, so the `WHERE owner_id = ? OR is_public = ?` clause still evaluates true for any caller on a book that was public at deletion time. For an unauthe…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/enchant97/note-mark/backend&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;After a note-mark owner soft-deletes a public book, its notes and uploaded assets stay readable at `/api/notes/{id}`, `/api/notes/{id}/content`, the slug URL, and the asset endpoints. Unauthenticated callers who hold the note ID or the slug path retain access. GORM&amp;#39;s soft-delete scope does not reach the raw `JOIN books ...` clauses used by the note and asset queries.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;`DELETE /api/books/{bookID}` sets `books.deleted_at` to the current time. The book-level endpoint starts returning 404, which matches the owner&amp;#39;s expectation that the book is gone. The note service and asset service query notes with a raw join that does not filter `books.deleted_at IS NULL`:&lt;/p&gt;
&lt;p&gt;```go
// backend/services/notes.go:91-98 (GetNoteByID)
func (s NotesService) GetNoteByID(currentUserID *uuid.UUID, noteID uuid.UUID) (db.Note, error) {
    var note db.Note
    return note, dbErrorToServiceError(db.DB.
        Preload(&amp;#34;Book&amp;#34;).
        Joins(&amp;#34;JOIN books ON books.id = notes.book_id&amp;#34;).
        Where(&amp;#34;owner_id = ? OR is_public = ?&amp;#34;, currentUserID, true).
        First(&amp;amp;note, &amp;#34;notes.id = ?&amp;#34;, noteID).Error)
}
```&lt;/p&gt;
&lt;p&gt;GORM applies its soft-delete scope to the primary model of a query (here, `notes`) and to implicit `Joins(&amp;#34;Book&amp;#34;)` association clauses. It does not rewrite raw SQL passed to `Joins`. The soft-deleted book row keeps `is_public = true`, so the `WHERE owner_id = ? OR is_public = ?` clause still evaluates true for any caller on a book that was public at deletion time. For an unauthe…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-3gr9-485j-v4xf</guid>
    </item>
  </channel>
</rss>
