CVE-2026-54766
Vikunja: Project duplication bypasses write-permission check on the target parent project
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. 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
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.3
Vikunja: Project duplication bypasses write-permission check on the target parent project
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. This issue is fixed in version 2.4.0.
- Record
CVE-2026-54766- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
EUVDEUVD-2026-67830
5.3
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. This issue is fixed in version 2.4.0.
- Record
EUVD-2026-67830- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-f27p-pw2p-9pr4
5.3
Vikunja has a project duplication bypasses write-permission check on the target parent project
Summary
The project-duplication endpoint fails to enforce write access to the target parent project. Any authenticated (non-link-share) user can duplicate a project they can read into any parent project on the instance, regardless of whether they have write access to that parent — injecting an attacker-owned project into another user's or team's project hierarchy.
Details
ProjectDuplicate.CanCreate (pkg/models/project_duplicate.go) is meant to require write access to the parent the duplicate is placed under — its own comment says "Parent project exists + user has write access". The implementation does neither correctly:
func (pd *ProjectDuplicate) CanCreate(s *xorm.Session, a web.Auth) (canCreate bool, err error) {
pd.Project = &Project{ID: pd.ProjectID}
canRead, _, err := pd.Project.CanRead(s, a)
if err != nil || !canRead {
return canRead, err
}
if pd.ParentProjectID == 0 {
return canRead, err
}
// Parent project exists + user has write access to is (-> can create new projects)
parent := &Project{ID: pd.ParentProjectID}
return parent.CanCreate(s, a) // <-- bug
}
Two defects compound here:
-
Wrong permission method. It calls
parent.CanCreate("may I create this project?") instead ofparent.CanWrite("may I create children inside this project?"). The latter is what the normal create path uses —POST /projectswith aparent_project_idenforcesparent.CanWriteviaProject.CanCreate(pkg/models/project_permissions.go:196-199). -
Unhydrated struct.
parentis constructed as&Project{ID: pd.ParentProjectID}and never loaded from the database, so its in-memoryParentProjectIDis always0. InsideProject.CanCreatethe only branch that performs any permission check isif p.ParentProjectID != 0 { return parent.CanWrite(...) }— which therefore never executes. Control falls through to the link-share check and thenreturn true, nil. The result istruefor any authenticated non-link-share user, for anyParentProjectID.
Nothing downstream re-checks: ProjectDuplicate.Create → CreateProject → checkProjectBeforeUpdateOrDelete (pkg/models/project.go:954) validates only that the parent exists, is not a pseudo-project, and introduces no cycle — no authorization.
Impact
An authenticated user can:
- Duplicate any project they can read (including their own) and attach the copy as a child of any parent project ID on the instance, with no write access to that parent.
- Inject an attacker-owned project into other users'/teams' project trees. The duplicate is owned by the attacker but appears inside the victim's hierarchy; members of the victim parent see it, and because Vikunja propagates parent access down the tree, they may inherit access to the injected project — enabling content injection / spam / phishing inside another tenant's workspace.
This is a bypass of the same parent-write guard that the ordinary create path enforces, so the duplicate route is an authorization hole for an operation that is otherwise correctly gated. The endpoint requires authentication; it does not expose or modify the victim's existing project data (the source is attacker-readable), so the impact is an integrity / access-control violation rather than confidentiality.
Proof of Concept
- As user A, create or have read access to any project
S(e.g. id 100). - Identify a parent project
P(e.g. id 5) owned by user B, to which A has no access. - Call
PUT /api/v1/projects/100/duplicatewith body{"parent_project_id": 5}. - The request succeeds (201). A new project owned by A is created as a child of B's project 5, despite A having no write access to it. The equivalent
POST /api/v1/projectswithparent_project_id: 5would be correctly rejected with 403.
Affected versions
Introduced with the namespace→project migration (commit fef253312, first released in v0.21.0) and present through…
- Record
GHSA-f27p-pw2p-9pr4- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
NVD
5.3
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. This issue is fixed in version 2.4.0.
- Record
CVE-2026-54766- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
OSV
5.3
Vikunja: Project duplication bypasses write-permission check on the target parent project
Vikunja is an open-source self-hosted task management platform. From 0.21.0 until 2.4.0, the project duplication operation in pkg/models/project_duplicate.go allows an authenticated user who can read a source project to place its duplicate beneath an arbitrary target parent project. ProjectDuplicate.CanCreate calls parent.CanCreate on an unhydrated Project containing only the body supplied parent_project_id instead of calling parent.CanWrite, so the target parent write-permission check is skipped. The ordinary project creation path enforces that permission, but PUT /api/v1/projects/{project}/duplicate does not, allowing attacker-owned content to be injected into another user or team project hierarchy. This issue is fixed in version 2.4.0.
- Record
CVE-2026-54766- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
OSVGHSA-f27p-pw2p-9pr4
5.3
Vikunja has a project duplication bypasses write-permission check on the target parent project
Summary
The project-duplication endpoint fails to enforce write access to the target parent project. Any authenticated (non-link-share) user can duplicate a project they can read into any parent project on the instance, regardless of whether they have write access to that parent — injecting an attacker-owned project into another user's or team's project hierarchy.
Details
ProjectDuplicate.CanCreate (pkg/models/project_duplicate.go) is meant to require write access to the parent the duplicate is placed under — its own comment says "Parent project exists + user has write access". The implementation does neither correctly:
func (pd *ProjectDuplicate) CanCreate(s *xorm.Session, a web.Auth) (canCreate bool, err error) {
pd.Project = &Project{ID: pd.ProjectID}
canRead, _, err := pd.Project.CanRead(s, a)
if err != nil || !canRead {
return canRead, err
}
if pd.ParentProjectID == 0 {
return canRead, err
}
// Parent project exists + user has write access to is (-> can create new projects)
parent := &Project{ID: pd.ParentProjectID}
return parent.CanCreate(s, a) // <-- bug
}
Two defects compound here:
-
Wrong permission method. It calls
parent.CanCreate("may I create this project?") instead ofparent.CanWrite("may I create children inside this project?"). The latter is what the normal create path uses —POST /projectswith aparent_project_idenforcesparent.CanWriteviaProject.CanCreate(pkg/models/project_permissions.go:196-199). -
Unhydrated struct.
parentis constructed as&Project{ID: pd.ParentProjectID}and never loaded from the database, so its in-memoryParentProjectIDis always0. InsideProject.CanCreatethe only branch that performs any permission check isif p.ParentProjectID != 0 { return parent.CanWrite(...) }— which therefore never executes. Control falls through to the link-share check and thenreturn true, nil. The result istruefor any authenticated non-link-share user, for anyParentProjectID.
Nothing downstream re-checks: ProjectDuplicate.Create → CreateProject → checkProjectBeforeUpdateOrDelete (pkg/models/project.go:954) validates only that the parent exists, is not a pseudo-project, and introduces no cycle — no authorization.
Impact
An authenticated user can:
- Duplicate any project they can read (including their own) and attach the copy as a child of any parent project ID on the instance, with no write access to that parent.
- Inject an attacker-owned project into other users'/teams' project trees. The duplicate is owned by the attacker but appears inside the victim's hierarchy; members of the victim parent see it, and because Vikunja propagates parent access down the tree, they may inherit access to the injected project — enabling content injection / spam / phishing inside another tenant's workspace.
This is a bypass of the same parent-write guard that the ordinary create path enforces, so the duplicate route is an authorization hole for an operation that is otherwise correctly gated. The endpoint requires authentication; it does not expose or modify the victim's existing project data (the source is attacker-readable), so the impact is an integrity / access-control violation rather than confidentiality.
Proof of Concept
- As user A, create or have read access to any project
S(e.g. id 100). - Identify a parent project
P(e.g. id 5) owned by user B, to which A has no access. - Call
PUT /api/v1/projects/100/duplicatewith body{"parent_project_id": 5}. - The request succeeds (201). A new project owned by A is created as a child of B's project 5, despite A having no write access to it. The equivalent
POST /api/v1/projectswithparent_project_id: 5would be correctly rejected with 403.
Affected versions
Introduced with the namespace→project migration (commit fef253312, first released in v0.21.0) and present through…
- Record
GHSA-f27p-pw2p-9pr4- CVSS 4.0
- 5.3 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N - Weakness
- CWE-285, CWE-863
- Updated
- 2026-11-02
Show 4 moreShow less
OSVGO-2026-6311 No score
Vikunja has a project duplication bypasses write-permission check on the target parent project in code.vikunja.io/api
Vikunja has a project duplication bypasses write-permission check on the target parent project 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-6311- 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.21.0 to 2.3.0 | 2.4.0 |
code.vikunja.io/apiGo |
0.21.0 up to 2.4.0 | 2.4.0 |
code.vikunja.io/apiGo |
0.21.0 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-54766 is a medium vulnerability (CVSS 5.3) 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.43%, the 37th percentile. Fixed in code.vikunja.io/api 2.4.0.
References
github.com/go-vikunja/vikunja/security/advisories/GHSA-f27p-pw2p-9pr4
github.com/go-vikunja/vikunja/pull/3239
github.com/go-vikunja/vikunja/commit/d911caaa11c748c3abc6b98b3189afea2677bcb0
github.com/go-vikunja/vikunja/releases/tag/v2.4.0
github.com/advisories/GHSA-f27p-pw2p-9pr4
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54766.json
Show 43 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-54766
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.