CVE-2023-33960
OpenProject is web-based project management software. For any OpenProject installation, a `robots.txt` file is generated through the server to denote which routes shall or shall not be accessed by crawlers. These routes contain project identifiers of all public projects in the instance. Prior to version 12.5.6, even if the entire instance is marked as `Login required` and prevents all truly anonymous access, the `/robots.txt` route remains publicly available.
Version 12.5.6 has a fix for this issue. Alternatively, users can download a patchfile to apply the patch to any OpenProject version greater than 10.0 As a workaround, one may mark any public project as non-public and give anyone in need of access to the project a membership.
CVSS
- Version: 3.1
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Base score: 7.5
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 1.26%
- Percentile among all scored CVEs: 69
- Score date: 10/18/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
💥 Public exploits
Exploit code or detection templates are publicly available. This is not the same as confirmed active exploitation (KEV), but it raises the risk: patch with priority.
- Nuclei template (automated mass detection) · OpenProject < 12.5.4 - Project Identifiers Exposure
Affected technologies (1)
CWEs
- CWE-200
- CWE-319
References
- https://community.openproject.org/wp/48324
- https://github.com/opf/openproject/pull/12708
- https://github.com/opf/openproject/releases/tag/v12.5.6
- https://github.com/opf/openproject/security/advisories/GHSA-xjfc-fqm3-95q8
- https://patch-diff.githubusercontent.com/raw/opf/openproject/pull/12708.patch
- https://community.openproject.org/wp/48324
- https://github.com/opf/openproject/pull/12708
- https://github.com/opf/openproject/releases/tag/v12.5.6
- https://github.com/opf/openproject/security/advisories/GHSA-xjfc-fqm3-95q8
- https://patch-diff.githubusercontent.com/raw/opf/openproject/pull/12708.patch
Raw JSON (NVD)
Show
{
"id": "CVE-2023-33960",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2023-33960",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2025-01-08T21:36:38.068605Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.5,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 3.6,
"exploitabilityScore": 3.9
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "opf",
"product": "openproject",
"versions": [
{
"status": "affected",
"version": "< 12.5.6"
}
]
}
]
}
],
"published": "2023-06-01T17:15:10.803",
"references": [
{
"url": "https://community.openproject.org/wp/48324",
"tags": [
"Permissions Required"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/opf/openproject/pull/12708",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/opf/openproject/releases/tag/v12.5.6",
"tags": [
"Release Notes"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/opf/openproject/security/advisories/GHSA-xjfc-fqm3-95q8",
"tags": [
"Vendor Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://patch-diff.githubusercontent.com/raw/opf/openproject/pull/12708.patch",
"tags": [
"Mailing List",
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://community.openproject.org/wp/48324",
"tags": [
"Permissions Required"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/opf/openproject/pull/12708",
"tags": [
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/opf/openproject/releases/tag/v12.5.6",
"tags": [
"Release Notes"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/opf/openproject/security/advisories/GHSA-xjfc-fqm3-95q8",
"tags": [
"Vendor Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://patch-diff.githubusercontent.com/raw/opf/openproject/pull/12708.patch",
"tags": [
"Mailing List",
"Patch"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-200"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-319"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "OpenProject is web-based project management software. For any OpenProject installation, a `robots.txt` file is generated through the server to denote which routes shall or shall not be accessed by crawlers. These routes contain project identifiers of all public projects in the instance. Prior to version 12.5.6, even if the entire instance is marked as `Login required` and prevents all truly anonymous access, the `/robots.txt` route remains publicly available.\n\nVersion 12.5.6 has a fix for this issue. Alternatively, users can download a patchfile to apply the patch to any OpenProject version greater than 10.0 As a workaround, one may mark any public project as non-public and give anyone in need of access to the project a membership."
}
],
"lastModified": "2026-06-17T06:02:36.320",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:openproject:openproject:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "C56B66DC-C671-44DD-B148-B57AD5D7A098",
"versionEndExcluding": "12.5.6"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}