Security advisory
Backstage is an open platform for building developer portals. In versions of Backstage's Techdocs Plugin (`@backstage/plugin-techdocs`) prior to 0.9.5, a malicious internal actor can potentially upload documentation content with malicious scripts by embedding the script within an `object` element. This may give access to sensitive data when other users visit that same documentation page. The ability to upload malicious content may be limited by internal code review processes, unless the chosen TechDocs deployment method is to use an object store and the actor has access to upload files directly to that store. The vulnerability is patched in the `0.9.5` release of `@backstage/plugin-techdocs`.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-32661
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:48 UTC · Revision 1
Source evidence
Backstage is an open platform for building developer portals. In versions of Backstage's Techdocs Plugin (`@backstage/plugin-techdocs`) prior to 0.9.5, a malicious internal actor can potentially upload documentation content with malicious scripts by embedding the script within an `object` element. This may give access to sensitive data when other users visit that same documentation page. The ability to upload malicious content may be limited by internal code review processes, unless the chosen TechDocs deployment method is to use an object store and the actor has access to upload files directly to that store. The vulnerability is patched in the `0.9.5` release of `@backstage/plugin-techdocs`.
osv:CVE-2021-32661
Complete source record
{
"id": "80f575955252f25414710dd4618c58fcee42e0056396530313718cd16c69e19f",
"url": "https://osv.dev/vulnerability/CVE-2021-32661",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-32661",
"summary": "Backstage is an open platform for building developer portals. In versions of Backstage's Techdocs Plugin (`@backstage/plugin-techdocs`) prior to 0.9.5, a malicious internal actor can potentially upload documentation content with malicious scripts by embedding the script within an `object` element. This may give access to sensitive data when other users visit that same documentation page. The ability to upload malicious content may be limited by internal code review processes, unless the chosen TechDocs deployment method is to use an object store and the actor has access to upload files directly to that store. The vulnerability is patched in the `0.9.5` release of `@backstage/plugin-techdocs`.",
"evidence": "osv:CVE-2021-32661",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-32661",
"aliases": [
"CVE-2021-32661",
"GHSA-gg96-f8wr-p89f"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/backstage/backstage",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "aad98c544e59369901fe9e0a85f6357644dceb5c"
},
{
"fixed": "e816bf7f54c160fca1911b81948d4131dfa63228"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"fixed": "aad98c544e59369901fe9e0a85f6357644dceb5c"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "e816bf7f54c160fca1911b81948d4131dfa63228"
}
],
"source": "REFERENCES_TAG",
"original_tag": "release-2021-06-03"
}
]
}
}
],
"versions": [
"v0.28.0",
"release-2021-05-20.1",
"v0.29.2",
"release-2021-06-01",
"v0.29.1",
"release-2021-05-31",
"v0.29.0",
"release-2021-05-27",
"v0.24.1",
"release-2021-05-04",
"v0.26.0",
"release-2021-05-12.1",
"v0.27.0",
"release-2021-05-20",
"v0.26.1",
"release-2021-05-17",
"v0.25.3",
"release-2021-05-12",
"v0.25.2",
"release-2021-05-11",
"v0.25.1",
"release-2021-05-10",
"v0.25.0",
"release-2021-05-06",
"v0.24.0",
"release-2021-04-29",
"v0.23.0",
"release-2021-04-22.1",
"v0.22.2",
"release-2021-04-22",
"v0.22.1",
"release-2021-04-21",
"v0.22.0",
"release-2021-04-15",
"v0.21.1",
"release-2021-04-13",
"v0.20.0",
"release-2021-03-31",
"v0.21.0",
"release-2021-04-08",
"v0.20.1",
"release-2021-03-31.1",
"v0.19.0",
"release-2021-03-25",
"v0.18.1",
"release-2021-03-19",
"v0.18.0",
"release-2021-03-18",
"v0.17.3",
"release-2021-03-17",
"v0.17.2",
"release-2021-03-16",
"v0.17.1",
"release-2021-03-11.1",
"v0.17.0",
"release-2021-03-11",
"v0.16.1",
"release-2021-03-09",
"v0.16.0",
"release-2021-03-04",
"v0.15.0",
"release-2021-02-23",
"v0.14.0",
"release-2021-02-18",
"v0.13.1",
"release-2021-02-16",
"v0.13.0",
"release-2021-02-11",
"v0.12.0",
"release-2021-02-05",
"v0.11.3",
"release-2021-02-03",
"v0.11.2",
"release-2021-02-01",
"v0.11.1",
"release-2021-01-29",
"v0.11.0",
"release-2021-01-28",
"v0.10.0",
"release-2021-01-21.1",
"v0.9.0",
"release-2021-01-21",
"v0.8.2",
"release-2021-01-20",
"v0.8.1",
"release-2021-01-18",
"v0.8.0",
"release-2021-01-14.1",
"v0.7.0",
"release-2021-01-14",
"v0.6.0",
"release-2021-01-09",
"v0.5.0",
"release-2021-01-08",
"release-2021-1-7",
"release-2021-01-07",
"v0.4.3",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.0",
"v0.1.1",
"v0.1.1-alpha.26",
"v0.1.1-alpha.25",
"v0.1.1-alpha.24",
"v0.1.1-alpha.23",
"v0.1.1-alpha.22",
"v0.1.1-alpha.21",
"v0.1.1-alpha.20",
"v0.1.1-alpha.19",
"v0.1.1-alpha.18",
"v0.1.1-alpha.17",
"v0.1.1-alpha.16",
"v0.1.1-alpha.15",
"v0.1.1-alpha.13",
"v0.1.1-alpha.12",
"v0.1.1-alpha.11",
"v0.1.1-alpha.10",
"cli-old-cache-watch",
"v0.1.1-alpha.8",
"v0.1.1-alpha.7",
"v0.1.1-alpha.6",
"v0.1.1-alpha.5",
"v0.1.1-alpha.4",
"v0.1.1-alpha.3",
"v0.1.1-alpha.2",
"v0.1.1-alpha.1",
"v0.1.1-alpha.0",
"v0.1.0",
"hackweek-demo"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-32661.json"
}
}
],
"modified": "2026-10-20T10:54:44.579334203Z",
"provider": "osv",
"references": [
"https://github.com/backstage/backstage/releases/tag/release-2021-06-03",
"https://github.com/backstage/backstage/security/advisories/GHSA-gg96-f8wr-p89f",
"https://github.com/backstage/backstage/commit/aad98c544e59369901fe9e0a85f6357644dceb5c"
],
"provider_metadata": {
"unresolved_ranges": [
{
"cpes": [
"cpe:2.3:a:linuxfoundation:\\@backstage\\/plugin-techdocs:*:*:*:*:*:node.js:*:*"
],
"vendor_product": "linuxfoundation:@backstage/plugin-techdocs",
"extracted_events": [
{
"range": [
{
"fixed": "0.9.5"
}
],
"source": "CPE_RANGE"
}
]
},
{
"extracted_events": [
{
"range": [
{
"fixed": "0.9.5"
}
],
"source": "DESCRIPTION"
}
]
}
]
}
},
"related_cves": [
{
"value": "CVE-2021-32661",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 386050,
"published_at": "2021-06-03T18:15:08.8+00:00"
}