Every CVE Search/ Get API key

CVE-2026-55066

Vikunja: Cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

7.1 HighFix available

Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. 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
High
Integrity
Low
Availability
None

Exploit likelihood

0.37%Up 0.1 points since Aug 29, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.1

Vikunja: Cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. This issue is fixed in version 2.4.0.

Record
CVE-2026-55066
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
EUVDEUVD-2026-67833 7.1

Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. This issue is fixed in version 2.4.0.

Record
EUVD-2026-67833
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-5pg6-m483-7vrg 7.1

Vikunja has cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

Summary

The kanban endpoint POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks moves a task into a bucket. The task is identified by task_id in the request body. The endpoint's authorization check (TaskBucket.CanUpdate) only verifies that the caller may update the project/view/bucket named in the URL — it never checks any permission on task_id.

Any authenticated user can therefore supply another user's task ID (task IDs are a global, sequential integer space) against a kanban bucket in their own project. The server loads that victim task with no authorization check, returns its full contents in the response, and — when the target bucket is a "done" bucket — writes to the victim task's row.

This is the same vulnerability class Vikunja has already remediated for task relations (CVE-2026-33676), task attachments (CVE-2026-33678), task comments (CVE-2026-33313) and CalDAV task read (CVE-2026-35598). TaskBucket is the task-child operation that was missed.


Root cause

1. task_id is body-controlled and never permission-checked

pkg/models/kanban_task_bucket.go:32:

type TaskBucket struct {
    BucketID      int64 `... json:"bucket_id" param:"bucket"`
    TaskID        int64 `... json:"task_id"`              // body-bound only — no param tag
    ProjectViewID int64 `... json:"project_view_id" param:"view"`
    ProjectID     int64 `xorm:"-" json:"-" param:"project"`
    ...
}

The web handler UpdateWeb (pkg/web/handler/update.go) populates the struct via ctx.Bind, which binds both URL path params (param: tags) and the JSON body. BucketID, ProjectViewID, ProjectID come from the trusted URL; TaskID comes entirely from the attacker-controlled body.

2. CanUpdate authorizes the URL, not the task

pkg/models/kanban_task_bucket.go:52:

func (b *TaskBucket) CanUpdate(s *xorm.Session, a web.Auth) (bool, error) {
    bucket := Bucket{ID: b.BucketID, ProjectID: b.ProjectID, ProjectViewID: b.ProjectViewID}
    return bucket.canDoBucket(s, a)
}

canDoBucket (pkg/models/kanban_permissions.go:46) resolves the bucket/view and ends in Project{ID: pv.ProjectID}.CanUpdate(s, a) — a permission check on the project from the URL. b.TaskID is never referenced. The attacker owns that project, so the check passes.

3. The task is loaded and mutated with no authorization

updateTaskBucket (pkg/models/kanban_task_bucket.go:119):

task := &Task{ID: b.TaskID}
err = task.ReadOne(s, a)            // loads ANY task by ID — no permission check

Task.ReadOne (pkg/models/tasks.go:1967) calls GetTaskByIDSimple + addMoreInfoToTasks; it performs no authorization (authorization normally lives in the separate Task.CanRead, which this internal call path bypasses).

  • Read: the fully populated victim task is assigned to b.Task (line 227) and returned by the Update handler in the response "task" field.

  • Write: if the target bucket is the view's done bucket (view.DoneBucketID == b.BucketID && !task.Done, line 141), the handler sets task.Done = true and persists it to the victim's task row:

    _, err = s.Where("id = ?", task.ID).
        Cols("done", "due_date", "start_date", "end_date", "done_at").
        Update(task)
    

Proof of Concept

The attacker is any normal authenticated user. They first create their own kanban project/view/bucket (free for every user), then:

POST /api/v1/projects/{ATTACKER_PROJECT}/views/{ATTACKER_VIEW}/buckets/{ATTACKER_BUCKET}/tasks HTTP/1.1
Host: TARGET
Authorization: Bearer {ATTACKER_JWT}
Content-Type: application/json

{"task_id": {VICTIM_TASK_ID}}

The 200 response body contains the victim task in full under "task" — title, description, dates, assignees, labels, attachment list, reactions. Task IDs are a global sequential counter, so iterating task_id enumerates every task on the instance.

If…

Record
GHSA-5pg6-m483-7vrg
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
NVD 7.1

Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. This issue is fixed in version 2.4.0.

Record
CVE-2026-55066
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
OSV 7.1

Vikunja: Cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

Vikunja is an open-source self-hosted task management platform. Prior to 2.4.0, POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks accepts a body supplied task_id but TaskBucket.CanUpdate in pkg/models/kanban_task_bucket.go authorizes only the project, view, and bucket from the URL. updateTaskBucket then calls Task.ReadOne without a separate task permission check, returns the victim task contents, and can update the task done state when the attacker chooses a done bucket. Because task identifiers are global sequential values, an authenticated user can enumerate cross-tenant tasks and modify their completion metadata through both the v1 and v2 routes that share this model. This issue is fixed in version 2.4.0.

Record
CVE-2026-55066
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
OSVGHSA-5pg6-m483-7vrg 7.1

Vikunja has cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id

Summary

The kanban endpoint POST /api/v1/projects/{project}/views/{view}/buckets/{bucket}/tasks moves a task into a bucket. The task is identified by task_id in the request body. The endpoint's authorization check (TaskBucket.CanUpdate) only verifies that the caller may update the project/view/bucket named in the URL — it never checks any permission on task_id.

Any authenticated user can therefore supply another user's task ID (task IDs are a global, sequential integer space) against a kanban bucket in their own project. The server loads that victim task with no authorization check, returns its full contents in the response, and — when the target bucket is a "done" bucket — writes to the victim task's row.

This is the same vulnerability class Vikunja has already remediated for task relations (CVE-2026-33676), task attachments (CVE-2026-33678), task comments (CVE-2026-33313) and CalDAV task read (CVE-2026-35598). TaskBucket is the task-child operation that was missed.


Root cause

1. task_id is body-controlled and never permission-checked

pkg/models/kanban_task_bucket.go:32:

type TaskBucket struct {
    BucketID      int64 `... json:"bucket_id" param:"bucket"`
    TaskID        int64 `... json:"task_id"`              // body-bound only — no param tag
    ProjectViewID int64 `... json:"project_view_id" param:"view"`
    ProjectID     int64 `xorm:"-" json:"-" param:"project"`
    ...
}

The web handler UpdateWeb (pkg/web/handler/update.go) populates the struct via ctx.Bind, which binds both URL path params (param: tags) and the JSON body. BucketID, ProjectViewID, ProjectID come from the trusted URL; TaskID comes entirely from the attacker-controlled body.

2. CanUpdate authorizes the URL, not the task

pkg/models/kanban_task_bucket.go:52:

func (b *TaskBucket) CanUpdate(s *xorm.Session, a web.Auth) (bool, error) {
    bucket := Bucket{ID: b.BucketID, ProjectID: b.ProjectID, ProjectViewID: b.ProjectViewID}
    return bucket.canDoBucket(s, a)
}

canDoBucket (pkg/models/kanban_permissions.go:46) resolves the bucket/view and ends in Project{ID: pv.ProjectID}.CanUpdate(s, a) — a permission check on the project from the URL. b.TaskID is never referenced. The attacker owns that project, so the check passes.

3. The task is loaded and mutated with no authorization

updateTaskBucket (pkg/models/kanban_task_bucket.go:119):

task := &Task{ID: b.TaskID}
err = task.ReadOne(s, a)            // loads ANY task by ID — no permission check

Task.ReadOne (pkg/models/tasks.go:1967) calls GetTaskByIDSimple + addMoreInfoToTasks; it performs no authorization (authorization normally lives in the separate Task.CanRead, which this internal call path bypasses).

  • Read: the fully populated victim task is assigned to b.Task (line 227) and returned by the Update handler in the response "task" field.

  • Write: if the target bucket is the view's done bucket (view.DoneBucketID == b.BucketID && !task.Done, line 141), the handler sets task.Done = true and persists it to the victim's task row:

    _, err = s.Where("id = ?", task.ID).
        Cols("done", "due_date", "start_date", "end_date", "done_at").
        Update(task)
    

Proof of Concept

The attacker is any normal authenticated user. They first create their own kanban project/view/bucket (free for every user), then:

POST /api/v1/projects/{ATTACKER_PROJECT}/views/{ATTACKER_VIEW}/buckets/{ATTACKER_BUCKET}/tasks HTTP/1.1
Host: TARGET
Authorization: Bearer {ATTACKER_JWT}
Content-Type: application/json

{"task_id": {VICTIM_TASK_ID}}

The 200 response body contains the victim task in full under "task" — title, description, dates, assignees, labels, attachment list, reactions. Task IDs are a global sequential counter, so iterating task_id enumerates every task on the instance.

If…

Record
GHSA-5pg6-m483-7vrg
CVSS 3.1
7.1 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
Weakness
CWE-639
Updated
2026-11-02
Show 4 moreShow less
OSVGO-2026-6308 No score

Vikunja has cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id in code.vikunja.io/api

Vikunja has cross-tenant IDOR in kanban move-task endpoint via unauthorized body task_id 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-6308
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

Affected packages
PackageAffectedFixed
code.vikunja.io/api
Go
through 2.3.0
2.4.0
code.vikunja.io/api
Go
before 2.4.0
2.4.0
code.vikunja.io/api
Go
All versions None known
govulncheck-vulndb
SUSE: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-vulndb
SUSE: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-vulndb
openSUSE:Leap 16.0
From an advisory covering 39 CVEs
before 0.0.20260902T191204-160000.1.1
0.0.20260902T191204-160000.1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-55066 is a high vulnerability (CVSS 7.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.37%, the 30th percentile. Fixed in code.vikunja.io/api 2.4.0.

References

Show 43 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open