CVE-2026-55065
Vikunja: Improper Authorization and Authorization Bypass Through User-Controlled Key in code.vikunja.io/api
Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
Vikunja: Improper Authorization and Authorization Bypass Through User-Controlled Key in code.vikunja.io/api
Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.
- Record
CVE-2026-55065- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-285, CWE-639
- Updated
- 2026-11-02
EUVDEUVD-2026-67832
8.1
Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.
- Record
EUVD-2026-67832- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-gg93-x632-9ccv
8.1
Vikunja vulnerable to Improper Authorization and Authorization Bypass Through User-Controlled Key
Summary
A user with only a single self-owned project can permanently destroy the Kanban bucket assignments (task_buckets) and task ordering (task_positions) of any other project view in the entire instance. The ProjectView.Delete model method runs three SQL statements: the first is properly scoped to (view_id, project_id), but the next two cascading deletes on task_buckets and task_positions filter only on the URL-supplied project_view_id. The permission check (CanDelete) gates on Admin of the URL :project but never confirms that the URL :view actually belongs to that project.
Details
ProjectView.Delete (file: pkg/models/project_view.go, line 250) cascades on the bare pv.ID for the second and third deletes, ignoring pv.ProjectID:
func (pv *ProjectView) Delete(s *xorm.Session, _ web.Auth) (err error) {
_, err = s.
Where("id = ? AND project_id = ?", pv.ID, pv.ProjectID). // (a) scoped — OK
Delete(&ProjectView{})
if err != nil {
return
}
_, err = s.Where("project_view_id = ?", pv.ID).Delete(&TaskBucket{}) // (b) UNSCOPED
if err != nil {
return
}
_, err = s.Where("project_view_id = ?", pv.ID).Delete(&TaskPosition{}) // (c) UNSCOPED
return
}
pv.ID and pv.ProjectID come straight from the URL path via c.Bind — see the param tags on the struct (pkg/models/project_view.go, lines 133–137):
type ProjectView struct {
ID int64 `xorm:"autoincr not null unique pk" json:"id" param:"view"`
...
ProjectID int64 `xorm:"not null index" json:"project_id" param:"project"`
...
}
The route is registered with both params in pkg/routes/routes.go, line 791:
a.DELETE("/projects/:project/views/:view", projectViewProvider.DeleteWeb)
CanDelete (file: pkg/models/project_view_permissions.go, line 38) gates only on Admin of the URL :project:
func (pv *ProjectView) CanDelete(s *xorm.Session, a web.Auth) (bool, error) {
if isInstanceAdmin(s, a) {
return true, nil
}
filterID := GetSavedFilterIDFromProjectID(pv.ProjectID)
if filterID > 0 { ... }
pp := pv.getProject() // = &Project{ID: pv.ProjectID} (URL path)
return pp.IsAdmin(s, a) // only checks admin on URL :project
}
There is no check that the view (pv.ID) actually belongs to that project. The first SQL inside Delete (the WHERE id = ? AND project_id = ? clause) compensates for the project_views table only. xorm silently returns 0 affected rows on a mismatch — no error — and the function continues. The next two statements then run unconditionally on pv.ID alone.
Why other neighbouring code paths are not vulnerable, for context:
Bucket.canDoBucket(pkg/models/kanban_permissions.go, line 46) loads the bucket from the DB and re-couples the URL project viaGetProjectViewByIDAndProject(viewID, projectID), whichWHERE id = ? AND project_id = ?— mismatched URL:projectreturns an error. Safe.ProjectView.Update(pkg/models/project_view.go, line 412) calls the sameGetProjectViewByIDAndProjectbefore applying the update. Safe.Project.UpdateProjectcascades uses.In("project_view_id", viewIDs).Delete(&Bucket{})(pkg/models/project.go, line 1396) whereviewIDsis loaded from the DB inside an authorised project-delete context. Safe.
The same shape (load-by-URL-id, then cascade-without-coupling) was the root cause of GHSA-jfmm-mjcp-8wq2 (attachment IDOR) and GHSA-2vq4-854f-5c72 (project reparenting). The view-delete cascade has not been audited the same way.
PoC
Prerequisites
- An authenticated account on the target Vikunja instance. No special role is required — local-auth registration is enough; the attacker becomes Admin of any project they create via the
OwnerIDfield set inCreateProject(pkg/models/project.go, line 1021). - Knowledge of any victim view ID. View IDs are…
- Record
GHSA-gg93-x632-9ccv- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-285, CWE-639
- Updated
- 2026-11-02
NVD
8.1
Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.
- Record
CVE-2026-55065- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-285, CWE-639
- Updated
- 2026-11-02
OSV
8.1
Vikunja: Improper Authorization and Authorization Bypass Through User-Controlled Key in code.vikunja.io/api
Vikunja is an open-source self-hosted task management platform. From 0.24.6 until 2.4.0, DELETE /api/v1/projects/:project/views/:view permits an authenticated user to supply a view identifier from another project while authorizing only against an attacker-controlled project identifier. ProjectView.CanDelete in pkg/models/project_view_permissions.go does not establish that the view belongs to the path project, and ProjectView.Delete in pkg/models/project_view.go continues after the scoped project_views delete affects no rows. Its subsequent deletes select task_buckets and task_positions only by project_view_id, allowing cross-tenant destruction of Kanban assignments and ordering while leaving the victim view and tasks intact. This issue is fixed in version 2.4.0.
- Record
CVE-2026-55065- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-285, CWE-639
- Updated
- 2026-11-02
OSVGHSA-gg93-x632-9ccv
8.1
Vikunja vulnerable to Improper Authorization and Authorization Bypass Through User-Controlled Key
Summary
A user with only a single self-owned project can permanently destroy the Kanban bucket assignments (task_buckets) and task ordering (task_positions) of any other project view in the entire instance. The ProjectView.Delete model method runs three SQL statements: the first is properly scoped to (view_id, project_id), but the next two cascading deletes on task_buckets and task_positions filter only on the URL-supplied project_view_id. The permission check (CanDelete) gates on Admin of the URL :project but never confirms that the URL :view actually belongs to that project.
Details
ProjectView.Delete (file: pkg/models/project_view.go, line 250) cascades on the bare pv.ID for the second and third deletes, ignoring pv.ProjectID:
func (pv *ProjectView) Delete(s *xorm.Session, _ web.Auth) (err error) {
_, err = s.
Where("id = ? AND project_id = ?", pv.ID, pv.ProjectID). // (a) scoped — OK
Delete(&ProjectView{})
if err != nil {
return
}
_, err = s.Where("project_view_id = ?", pv.ID).Delete(&TaskBucket{}) // (b) UNSCOPED
if err != nil {
return
}
_, err = s.Where("project_view_id = ?", pv.ID).Delete(&TaskPosition{}) // (c) UNSCOPED
return
}
pv.ID and pv.ProjectID come straight from the URL path via c.Bind — see the param tags on the struct (pkg/models/project_view.go, lines 133–137):
type ProjectView struct {
ID int64 `xorm:"autoincr not null unique pk" json:"id" param:"view"`
...
ProjectID int64 `xorm:"not null index" json:"project_id" param:"project"`
...
}
The route is registered with both params in pkg/routes/routes.go, line 791:
a.DELETE("/projects/:project/views/:view", projectViewProvider.DeleteWeb)
CanDelete (file: pkg/models/project_view_permissions.go, line 38) gates only on Admin of the URL :project:
func (pv *ProjectView) CanDelete(s *xorm.Session, a web.Auth) (bool, error) {
if isInstanceAdmin(s, a) {
return true, nil
}
filterID := GetSavedFilterIDFromProjectID(pv.ProjectID)
if filterID > 0 { ... }
pp := pv.getProject() // = &Project{ID: pv.ProjectID} (URL path)
return pp.IsAdmin(s, a) // only checks admin on URL :project
}
There is no check that the view (pv.ID) actually belongs to that project. The first SQL inside Delete (the WHERE id = ? AND project_id = ? clause) compensates for the project_views table only. xorm silently returns 0 affected rows on a mismatch — no error — and the function continues. The next two statements then run unconditionally on pv.ID alone.
Why other neighbouring code paths are not vulnerable, for context:
Bucket.canDoBucket(pkg/models/kanban_permissions.go, line 46) loads the bucket from the DB and re-couples the URL project viaGetProjectViewByIDAndProject(viewID, projectID), whichWHERE id = ? AND project_id = ?— mismatched URL:projectreturns an error. Safe.ProjectView.Update(pkg/models/project_view.go, line 412) calls the sameGetProjectViewByIDAndProjectbefore applying the update. Safe.Project.UpdateProjectcascades uses.In("project_view_id", viewIDs).Delete(&Bucket{})(pkg/models/project.go, line 1396) whereviewIDsis loaded from the DB inside an authorised project-delete context. Safe.
The same shape (load-by-URL-id, then cascade-without-coupling) was the root cause of GHSA-jfmm-mjcp-8wq2 (attachment IDOR) and GHSA-2vq4-854f-5c72 (project reparenting). The view-delete cascade has not been audited the same way.
PoC
Prerequisites
- An authenticated account on the target Vikunja instance. No special role is required — local-auth registration is enough; the attacker becomes Admin of any project they create via the
OwnerIDfield set inCreateProject(pkg/models/project.go, line 1021). - Knowledge of any victim view ID. View IDs are…
- Record
GHSA-gg93-x632-9ccv- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-285, CWE-639
- Updated
- 2026-11-02
Show 4 moreShow less
OSVGO-2026-6313 No score
Vikunja vulnerable to Improper Authorization and Authorization Bypass Through User-Controlled Key in code.vikunja.io/api
Vikunja vulnerable to Improper Authorization and Authorization Bypass Through User-Controlled Key in code.vikunja.io/api.
NOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.
(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)
The additional affected modules and versions are: code.vikunja.io/api before v2.4.0.
- Record
GO-2026-6313- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21812-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
- Update to version 0.0.20260902T191204 2026-09-02T19:12:04Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6305 CVE-2026-55834 GHSA-2wvm-8mvp-22qv
- GO-2026-6306 CVE-2026-55064 GHSA-44v6-7fxq-vgf4
- GO-2026-6307 CVE-2026-55067 GHSA-569v-q83c-3j3g
- GO-2026-6308 CVE-2026-55066 GHSA-5pg6-m483-7vrg
- GO-2026-6309 CVE-2026-54746 GHSA-8x7x-83cf-c3pg
- GO-2026-6310 CVE-2026-54755 GHSA-cgc5-v3f2-8m2v
- GO-2026-6311 CVE-2026-54766 GHSA-f27p-pw2p-9pr4
- GO-2026-6312 CVE-2026-55108 GHSA-fmgp-q6jx-gg3x
- GO-2026-6313 CVE-2026-55065 GHSA-gg93-x632-9ccv
- GO-2026-6314 CVE-2026-55569 GHSA-mf5c-hw34-4hpp
- GO-2026-6315 CVE-2026-54754 GHSA-p7gw-2pcp-5pf8
- GO-2026-6316 CVE-2026-55068 GHSA-x8mj-6p3q-g5pp
- GO-2026-6317 CVE-2026-55588 GHSA-298f-872v-2rcx
- GO-2026-6318 CVE-2026-55621 GHSA-64f3-v33m-w89f
- GO-2026-6319 CVE-2026-55622 GHSA-c9f5-j9c3-mhrg
- GO-2026-6320 CVE-2026-55245 GHSA-w98g-5w9p-p3rc
- GO-2026-6321 CVE-2026-55484 GHSA-hr6j-w4mw-g9mj
- GO-2026-6322 CVE-2026-55678 GHSA-p378-jp5r-gpgw
- GO-2026-6323 CVE-2026-55763 GHSA-v358-wf77-39xv
- GO-2026-6324 CVE-2026-55761 GHSA-x626-fcwx-f5pc
- GO-2026-6325 CVE-2026-27878 GHSA-6xff-cpcq-vpw2
- GO-2026-6326 CVE-2026-55784 GHSA-334q-h5g3-fpxv
- GO-2026-6327 CVE-2026-55874 GHSA-56wq-x3wv-3ff4
- GO-2026-6328 CVE-2026-55785 GHSA-fp46-6vfw-gc9c
- GO-2026-6329 CVE-2026-55873 GHSA-hgpf-8634-g44c
- GO-2026-6330 CVE-2026-55764 GHSA-mrpp-v6pg-p54x
- GO-2026-6333 CVE-2026-25712 GHSA-37w2-86g3-h4qh
- GO-2026-6334 CVE-2026-24690 GHSA-47rq-xp99-92mx
- GO-2026-6335 CVE-2026-27657 GHSA-4c8f-3m6h-m56r
- GO-2026-6336 CVE-2026-26232 GHSA-5v69-g2m3-3hq3
- GO-2026-6337 CVE-2026-28705 GHSA-7jvx-g65v-r899
- GO-2026-6338 CVE-2026-22547 GHSA-922f-hfwp-p56f
- GO-2026-6339 CVE-2026-20909 GHSA-fhq3-p242-2qpf
- GO-2026-6340 CVE-2026-25718 GHSA-h697-89cp-24q8
- GO-2026-6341 CVE-2026-26307 GHSA-h9c5-x7g8-4q7f
- GO-2026-6342 CVE-2026-26247 GHSA-m5ch-ppfx-xv3v
- GO-2026-6354 CVE-2026-78662
- GO-2026-6355 CVE-2026-56855
- Update to version 0.0.20260828T144745 2026-08-28T14:47:45Z.
- GO-2026-6303 CVE-2026-56854
- Record
openSUSE-SU-2026:21812-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23692-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
- Update to version 0.0.20260902T191204 2026-09-02T19:12:04Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6305 CVE-2026-55834 GHSA-2wvm-8mvp-22qv
- GO-2026-6306 CVE-2026-55064 GHSA-44v6-7fxq-vgf4
- GO-2026-6307 CVE-2026-55067 GHSA-569v-q83c-3j3g
- GO-2026-6308 CVE-2026-55066 GHSA-5pg6-m483-7vrg
- GO-2026-6309 CVE-2026-54746 GHSA-8x7x-83cf-c3pg
- GO-2026-6310 CVE-2026-54755 GHSA-cgc5-v3f2-8m2v
- GO-2026-6311 CVE-2026-54766 GHSA-f27p-pw2p-9pr4
- GO-2026-6312 CVE-2026-55108 GHSA-fmgp-q6jx-gg3x
- GO-2026-6313 CVE-2026-55065 GHSA-gg93-x632-9ccv
- GO-2026-6314 CVE-2026-55569 GHSA-mf5c-hw34-4hpp
- GO-2026-6315 CVE-2026-54754 GHSA-p7gw-2pcp-5pf8
- GO-2026-6316 CVE-2026-55068 GHSA-x8mj-6p3q-g5pp
- GO-2026-6317 CVE-2026-55588 GHSA-298f-872v-2rcx
- GO-2026-6318 CVE-2026-55621 GHSA-64f3-v33m-w89f
- GO-2026-6319 CVE-2026-55622 GHSA-c9f5-j9c3-mhrg
- GO-2026-6320 CVE-2026-55245 GHSA-w98g-5w9p-p3rc
- GO-2026-6321 CVE-2026-55484 GHSA-hr6j-w4mw-g9mj
- GO-2026-6322 CVE-2026-55678 GHSA-p378-jp5r-gpgw
- GO-2026-6323 CVE-2026-55763 GHSA-v358-wf77-39xv
- GO-2026-6324 CVE-2026-55761 GHSA-x626-fcwx-f5pc
- GO-2026-6325 CVE-2026-27878 GHSA-6xff-cpcq-vpw2
- GO-2026-6326 CVE-2026-55784 GHSA-334q-h5g3-fpxv
- GO-2026-6327 CVE-2026-55874 GHSA-56wq-x3wv-3ff4
- GO-2026-6328 CVE-2026-55785 GHSA-fp46-6vfw-gc9c
- GO-2026-6329 CVE-2026-55873 GHSA-hgpf-8634-g44c
- GO-2026-6330 CVE-2026-55764 GHSA-mrpp-v6pg-p54x
- GO-2026-6333 CVE-2026-25712 GHSA-37w2-86g3-h4qh
- GO-2026-6334 CVE-2026-24690 GHSA-47rq-xp99-92mx
- GO-2026-6335 CVE-2026-27657 GHSA-4c8f-3m6h-m56r
- GO-2026-6336 CVE-2026-26232 GHSA-5v69-g2m3-3hq3
- GO-2026-6337 CVE-2026-28705 GHSA-7jvx-g65v-r899
- GO-2026-6338 CVE-2026-22547 GHSA-922f-hfwp-p56f
- GO-2026-6339 CVE-2026-20909 GHSA-fhq3-p242-2qpf
- GO-2026-6340 CVE-2026-25718 GHSA-h697-89cp-24q8
- GO-2026-6341 CVE-2026-26307 GHSA-h9c5-x7g8-4q7f
- GO-2026-6342 CVE-2026-26247 GHSA-m5ch-ppfx-xv3v
- GO-2026-6354 CVE-2026-78662
- GO-2026-6355 CVE-2026-56855
- Update to version 0.0.20260828T144745 2026-08-28T14:47:45Z.
- GO-2026-6303 CVE-2026-56854
- Record
SUSE-SU-2026:23692-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23712-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
- Update to version 0.0.20260902T191204 2026-09-02T19:12:04Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6305 CVE-2026-55834 GHSA-2wvm-8mvp-22qv
- GO-2026-6306 CVE-2026-55064 GHSA-44v6-7fxq-vgf4
- GO-2026-6307 CVE-2026-55067 GHSA-569v-q83c-3j3g
- GO-2026-6308 CVE-2026-55066 GHSA-5pg6-m483-7vrg
- GO-2026-6309 CVE-2026-54746 GHSA-8x7x-83cf-c3pg
- GO-2026-6310 CVE-2026-54755 GHSA-cgc5-v3f2-8m2v
- GO-2026-6311 CVE-2026-54766 GHSA-f27p-pw2p-9pr4
- GO-2026-6312 CVE-2026-55108 GHSA-fmgp-q6jx-gg3x
- GO-2026-6313 CVE-2026-55065 GHSA-gg93-x632-9ccv
- GO-2026-6314 CVE-2026-55569 GHSA-mf5c-hw34-4hpp
- GO-2026-6315 CVE-2026-54754 GHSA-p7gw-2pcp-5pf8
- GO-2026-6316 CVE-2026-55068 GHSA-x8mj-6p3q-g5pp
- GO-2026-6317 CVE-2026-55588 GHSA-298f-872v-2rcx
- GO-2026-6318 CVE-2026-55621 GHSA-64f3-v33m-w89f
- GO-2026-6319 CVE-2026-55622 GHSA-c9f5-j9c3-mhrg
- GO-2026-6320 CVE-2026-55245 GHSA-w98g-5w9p-p3rc
- GO-2026-6321 CVE-2026-55484 GHSA-hr6j-w4mw-g9mj
- GO-2026-6322 CVE-2026-55678 GHSA-p378-jp5r-gpgw
- GO-2026-6323 CVE-2026-55763 GHSA-v358-wf77-39xv
- GO-2026-6324 CVE-2026-55761 GHSA-x626-fcwx-f5pc
- GO-2026-6325 CVE-2026-27878 GHSA-6xff-cpcq-vpw2
- GO-2026-6326 CVE-2026-55784 GHSA-334q-h5g3-fpxv
- GO-2026-6327 CVE-2026-55874 GHSA-56wq-x3wv-3ff4
- GO-2026-6328 CVE-2026-55785 GHSA-fp46-6vfw-gc9c
- GO-2026-6329 CVE-2026-55873 GHSA-hgpf-8634-g44c
- GO-2026-6330 CVE-2026-55764 GHSA-mrpp-v6pg-p54x
- GO-2026-6333 CVE-2026-25712 GHSA-37w2-86g3-h4qh
- GO-2026-6334 CVE-2026-24690 GHSA-47rq-xp99-92mx
- GO-2026-6335 CVE-2026-27657 GHSA-4c8f-3m6h-m56r
- GO-2026-6336 CVE-2026-26232 GHSA-5v69-g2m3-3hq3
- GO-2026-6337 CVE-2026-28705 GHSA-7jvx-g65v-r899
- GO-2026-6338 CVE-2026-22547 GHSA-922f-hfwp-p56f
- GO-2026-6339 CVE-2026-20909 GHSA-fhq3-p242-2qpf
- GO-2026-6340 CVE-2026-25718 GHSA-h697-89cp-24q8
- GO-2026-6341 CVE-2026-26307 GHSA-h9c5-x7g8-4q7f
- GO-2026-6342 CVE-2026-26247 GHSA-m5ch-ppfx-xv3v
- GO-2026-6354 CVE-2026-78662
- GO-2026-6355 CVE-2026-56855
- Update to version 0.0.20260828T144745 2026-08-28T14:47:45Z.
- GO-2026-6303 CVE-2026-56854
- Record
SUSE-SU-2026:23712-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
code.vikunja.io/apiGo |
0.24.6 up to 2.4.0 | 2.4.0 |
code.vikunja.io/apiGo |
0.24.6 and later | None known |
govulncheck-vulndbSUSE:Linux Enterprise Server 16.0 From an advisory covering 39 CVEs |
before 0.0.20260902T191204-160000.1.1 | 0.0.20260902T191204-160000.1.1 |
govulncheck-vulndbSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 39 CVEs |
before 0.0.20260902T191204-160000.1.1 | 0.0.20260902T191204-160000.1.1 |
govulncheck-vulndbopenSUSE:Leap 16.0 From an advisory covering 39 CVEs |
before 0.0.20260902T191204-160000.1.1 | 0.0.20260902T191204-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-55065 is a high vulnerability (CVSS 8.1) in Go-vikunja Vikunja, published August 28, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.50%, the 43rd percentile. Fixed in code.vikunja.io/api 2.4.0.
References
github.com/go-vikunja/vikunja/security/advisories/GHSA-gg93-x632-9ccv
github.com/go-vikunja/vikunja/pull/3239
github.com/go-vikunja/vikunja/commit/6895a7765ef1667be4b79df29549d33b9e1ca9ca
github.com/go-vikunja/vikunja/releases/tag/v2.4.0
github.com/advisories/GHSA-gg93-x632-9ccv
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55065.json
Show 43 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-55065
github.com/go-vikunja/vikunja
suse.com/support/update/announcement/2026/suse-su-202623692-1
suse.com/security/cve/CVE-2026-20909
suse.com/security/cve/CVE-2026-22547
suse.com/security/cve/CVE-2026-24690
suse.com/security/cve/CVE-2026-25712
suse.com/security/cve/CVE-2026-25718
suse.com/security/cve/CVE-2026-26232
suse.com/security/cve/CVE-2026-26247
suse.com/security/cve/CVE-2026-26307
suse.com/security/cve/CVE-2026-27657
suse.com/security/cve/CVE-2026-27878
suse.com/security/cve/CVE-2026-28705
suse.com/security/cve/CVE-2026-54746
suse.com/security/cve/CVE-2026-54754
suse.com/security/cve/CVE-2026-54755
suse.com/security/cve/CVE-2026-54766
suse.com/security/cve/CVE-2026-55064
suse.com/security/cve/CVE-2026-55065
suse.com/security/cve/CVE-2026-55066
suse.com/security/cve/CVE-2026-55067
suse.com/security/cve/CVE-2026-55068
suse.com/security/cve/CVE-2026-55108
suse.com/security/cve/CVE-2026-55245
suse.com/security/cve/CVE-2026-55484
suse.com/security/cve/CVE-2026-55569
suse.com/security/cve/CVE-2026-55588
suse.com/security/cve/CVE-2026-55621
suse.com/security/cve/CVE-2026-55622
suse.com/security/cve/CVE-2026-55678
suse.com/security/cve/CVE-2026-55761
suse.com/security/cve/CVE-2026-55763
suse.com/security/cve/CVE-2026-55764
suse.com/security/cve/CVE-2026-55784
suse.com/security/cve/CVE-2026-55785
suse.com/security/cve/CVE-2026-55834
suse.com/security/cve/CVE-2026-55873
suse.com/security/cve/CVE-2026-55874
suse.com/security/cve/CVE-2026-56854
suse.com/security/cve/CVE-2026-56855
suse.com/security/cve/CVE-2026-78662
suse.com/support/update/announcement/2026/suse-su-202623712-1
Left out here: the rest of 2 source descriptions. The JSON record has them.