CVE-2026-54676

Source
https://cve.org/CVERecord?id=CVE-2026-54676
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54676.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54676
Aliases
  • GHSA-2cff-ppf7-pc42
Published
2026-09-17T17:15:06Z
Modified
2026-09-19T08:08:55Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N CVSS Calculator
Summary
Scoold: GET /api/posts/{id}/answers leaks private-space replies when personal API tokens are enabled
Details

Scoold is a Q&A and a knowledge sharing platform for teams. Prior to 1.69.0, users with personal API tokens can retrieve replies from questions in private spaces they cannot access because src/main/java/com/erudika/scoold/api/ApiController.java in ApiController.getPostReplies() does not apply canAccessSpace before returning data from GET /api/posts/{id}/answers. The issue is reachable when scoold.api_user_access_enabled and scoold.api_enabled are true and a token holder knows or enumerates a private question identifier. Under those conditions, the question endpoint can deny access while the answers endpoint returns the private reply bodies, exposing confidential team or project discussions. This issue is fixed in version 1.69.0.

Database specific
{
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-862"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54676.json"
}
References

Affected packages

Git / github.com/erudika/scoold

Affected ranges

Type
GIT
Repo
https://github.com/erudika/scoold
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
Show details
{
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "1.69.0"
        }
    ],
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ]
}

Affected versions

1.*
1.24.1
1.24.10
1.24.11
1.24.2
1.24.3
1.24.4
1.24.5
1.24.6
1.24.7
1.24.8
1.24.9
1.25.0
1.25.1
1.25.2
1.25.3
1.25.4
1.25.5
1.26.0
1.26.1
1.28.0
1.28.1
1.28.10
1.28.2
1.28.3
1.28.4
1.28.5
1.28.6
1.28.7
1.28.8
1.28.9
1.29.0
1.29.1
1.29.2
1.29.3
1.29.4
1.30.0
1.30.1
1.30.2
1.30.3
1.30.4
1.30.5
1.31.0
1.31.1
1.31.2
1.31.3
1.31.4
1.32.0
1.32.1
1.33.0
1.33.1
1.34.0
1.35.0
1.35.1
1.35.2
1.35.3
1.36.0
1.36.1
1.36.2
1.37.0
1.37.1
1.38.0
1.39.0
1.39.1
1.39.2
1.39.3
1.39.4
1.40.0
1.40.1
1.40.2
1.40.3
1.40.4
1.40.5
1.41.0
1.41.1
1.41.2
1.42.1
1.43.0
1.43.1
1.43.2
1.43.3
1.44.0
1.45.0
1.46.0
1.46.1
1.46.2
1.46.3
1.48.0
1.48.1
1.48.2
1.49.0
1.49.1
1.49.2
1.49.3
1.49.4
1.49.5
1.49.6
1.49.7
1.50.0
1.50.1
1.50.2
1.50.3
1.50.4
1.50.5
1.51.0
1.51.1
1.51.2
1.51.3
1.52.0
1.52.1
1.52.2
1.52.3
1.53.0
1.54.0
1.54.1
1.55.0
1.56.0
1.56.1
1.57.0
1.57.1
1.57.2
1.57.3
1.57.4
1.57.5
1.58.0
1.58.1
1.59.0
1.60.0
1.61.0
1.62.0
1.63.0
1.64.0
1.64.2
1.64.3
1.64.4
1.64.5
1.65.0
1.66.0
1.66.1
1.66.2
1.67.0
1.67.1
1.68.0
1.68.1
1.68.2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54676.json"
vanir_signatures
[
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "214140389431454320069094030877316714223",
                "12751878573676001547197416990738175394",
                "152861252330903965055728983293499228807",
                "20405540369825142401175680085816172771",
                "288870548894507329218208679061226920547",
                "294879886540187065442309103362586705715",
                "4593311669918234589066803275526290163",
                "18850034403895829146662855712690930897"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54676-1c54c36e",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/api/ApiController.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "165481369812329301252854396164116765279",
            "length": 840
        },
        "id": "CVE-2026-54676-281755f2",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/api/ApiController.java",
            "function": "createComment"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "43190817914938110234329890356548032510",
            "length": 2076
        },
        "id": "CVE-2026-54676-4cecd476",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/QuestionController.java",
            "function": "reply"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "17550532948198692495221905628059498934",
                "11464370595746900391358888767880882617",
                "90690254895923334610480098428829575490",
                "3177402345970019484793057667001249734",
                "69394473345130869121946493590238775840",
                "126580902929930006157658488451411727587",
                "282568049417125734116103822244709636327",
                "315674784866505436641364522565594728715",
                "58965679373450222669459491006643862839",
                "188664710374987703780811828237980724869",
                "321670819365365144693855987595054655641",
                "183705008748981372196449485641431321972",
                "41587435076670278801016405252995639322",
                "307577228727934346349517374418785743400",
                "22866988693520550182989813480540446786",
                "258880338931032624351228864596153687776",
                "47674073291652508213672842705123291091"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54676-5fb6538f",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/CommentController.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "335848912731711551739255629772413606198",
            "length": 514
        },
        "id": "CVE-2026-54676-65388d55",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/CommentController.java",
            "function": "getAjax"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "215034228214247430921819603147615511563",
                "214843655377646048164978011536923029765",
                "141626938874582925316662978423306831340",
                "272992723082754313239247746073517217104"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54676-9e58b8db",
        "signature_type": "Line",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/QuestionController.java"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "182241001225813342877959525579162436715",
            "length": 353
        },
        "id": "CVE-2026-54676-b3ca302e",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/api/ApiController.java",
            "function": "getPostReplies"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "194385450352719297558837378803343391825",
            "length": 405
        },
        "id": "CVE-2026-54676-d4574bc7",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/CommentController.java",
            "function": "get"
        }
    },
    {
        "deprecated": false,
        "digest": {
            "function_hash": "270551519006884896435842814601648634026",
            "length": 1004
        },
        "id": "CVE-2026-54676-e3f731c7",
        "signature_type": "Function",
        "signature_version": "v1",
        "source": "https://github.com/erudika/scoold/commit/6976afb931d025cf0a35b11d6dff4f699dc87981",
        "target": {
            "file": "src/main/java/com/erudika/scoold/controllers/CommentController.java",
            "function": "createAjax"
        }
    }
]
vanir_signatures_modified
"2026-09-19T08:08:55Z"