Beego allows Reflected/Stored XSS in Beego's RenderForm() Function Due to Unescaped User Input
Beego is an open-source web framework for the Go programming language. Prior to 2.3.6, a Cross-Site Scripting (XSS) vulnerability exists in Beego's RenderForm() function due to improper HTML escaping of user-controlled data. This vulnerability allows attackers to inject malicious JavaScript code that executes in victims' browsers, potentially leading to session hijacking, credential theft, or account takeover. The vulnerability affects any application using Beego's RenderForm() function with user-provided data. Since it is a high-level function generating an entire form markup, many developers would assume it automatically escapes attributes (the way most frameworks do). This vulnerability is fixed in 2.3.6.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-30223
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 23:22 UTC · Revision 1
Source evidence
Beego allows Reflected/Stored XSS in Beego's RenderForm() Function Due to Unescaped User Input
core-osv · Original sourcePublished 31 Mar 2025, 16:17 UTC
Beego is an open-source web framework for the Go programming language. Prior to 2.3.6, a Cross-Site Scripting (XSS) vulnerability exists in Beego's RenderForm() function due to improper HTML escaping of user-controlled data. This vulnerability allows attackers to inject malicious JavaScript code that executes in victims' browsers, potentially leading to session hijacking, credential theft, or account takeover. The vulnerability affects any application using Beego's RenderForm() function with user-provided data. Since it is a high-level function generating an entire form markup, many developers would assume it automatically escapes attributes (the way most frameworks do). This vulnerability is fixed in 2.3.6.
osv:CVE-2025-30223
Complete source record
{
"id": "baf43ea7379b18d2fdf1532f89028fce8db9203f958af714d23a8e3c052a1779",
"url": "https://osv.dev/vulnerability/CVE-2025-30223",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Beego allows Reflected/Stored XSS in Beego's RenderForm() Function Due to Unescaped User Input",
"summary": "Beego is an open-source web framework for the Go programming language. Prior to 2.3.6, a Cross-Site Scripting (XSS) vulnerability exists in Beego's RenderForm() function due to improper HTML escaping of user-controlled data. This vulnerability allows attackers to inject malicious JavaScript code that executes in victims' browsers, potentially leading to session hijacking, credential theft, or account takeover. The vulnerability affects any application using Beego's RenderForm() function with user-provided data. Since it is a high-level function generating an entire form markup, many developers would assume it automatically escapes attributes (the way most frameworks do). This vulnerability is fixed in 2.3.6.",
"evidence": "osv:CVE-2025-30223",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2025-30223",
"aliases": [
"CVE-2025-30223",
"GHSA-2j42-h78h-q4fg",
"GO-2025-3585"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/beego/beego",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "5fa33bc11b947d0ddd0f68eb0cb8903741900f00"
},
{
"fixed": "939bb18c66406466715ddadd25dd9ffa6f169e25"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:beego:beego:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.3.6"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "939bb18c66406466715ddadd25dd9ffa6f169e25"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v2.3.5",
"v2.3.4",
"v2.3.3",
"v2.3.2",
"v2.3.1",
"v2.3.0",
"v2.2.2",
"v2.2.1",
"v2.2.0",
"v2.1.6",
"v2.1.5",
"v2.1.4",
"v2.1.3",
"v2.1.2",
"v2.1.1",
"v2.1.0",
"v2.0.7",
"v2.0.6",
"v2.0.5",
"v2.0.4",
"v2.0.3",
"v2.0.2",
"v2.0.2-beta.1",
"v2.0.1",
"v1.12.2",
"v1.12.0",
"v1.11.1",
"v1.11.0",
"v1.10.1",
"v1.10.0",
"v1.9.2",
"v1.9.0",
"v1.8.3",
"v1.7.2",
"v1.8.2",
"v1.8.1",
"v1.8.0",
"v1.7.1",
"v1.7.0",
"v1.6.1",
"v1.6.0",
"v1.5.0",
"v1.4.3",
"v1.4.2",
"v1.4.1",
"v1.4.0",
"v1.3.0",
"v1.2.0",
"v1.0.1",
"v0.9.0",
"v0.8.0",
"v0.7.0",
"v0.6.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-30223.json"
}
}
],
"modified": "2026-10-28T02:30:32.147357955Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/30xxx/CVE-2025-30223.json",
"https://github.com/beego/beego/security/advisories/GHSA-2j42-h78h-q4fg",
"https://nvd.nist.gov/vuln/detail/CVE-2025-30223",
"https://github.com/beego/beego/commit/939bb18c66406466715ddadd25dd9ffa6f169e25"
],
"provider_metadata": {
"cwe_ids": [
"CWE-79"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/30xxx/CVE-2025-30223.json"
}
},
"related_cves": [
{
"value": "CVE-2025-30223",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499242,
"published_at": "2025-03-31T16:17:05.914+00:00"
}