moodle-local_o365: Authentication bypass via unverified JWT signature in Teams SSO endpoint
The Microsoft 365 and Microsoft Entra ID Plugins for Moodle provide Office 365 and Azure Active Directory integration for Moodle. Prior to 4.5.6, 5.0.5, and 5.1.1, the Microsoft Office 365 Integration plugin local_o365 Teams SSO endpoint sso_login.php base64-decodes a JWT payload and authenticates users from the upn claim without verifying the JWT signature, allowing an unauthenticated attacker to forge a token and obtain a Moodle session as an O365-authenticated user. This issue is fixed in versions 4.5.6, 5.0.5, and 5.1.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-54733
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 13:24 UTC · Revision 1
Source evidence
moodle-local_o365: Authentication bypass via unverified JWT signature in Teams SSO endpoint
core-osv · Original sourcePublished 16 Jul 2026, 14:52 UTC
The Microsoft 365 and Microsoft Entra ID Plugins for Moodle provide Office 365 and Azure Active Directory integration for Moodle. Prior to 4.5.6, 5.0.5, and 5.1.1, the Microsoft Office 365 Integration plugin local_o365 Teams SSO endpoint sso_login.php base64-decodes a JWT payload and authenticates users from the upn claim without verifying the JWT signature, allowing an unauthenticated attacker to forge a token and obtain a Moodle session as an O365-authenticated user. This issue is fixed in versions 4.5.6, 5.0.5, and 5.1.1.
osv:CVE-2026-54733
Complete source record
{
"id": "48485b3ad08ebda3b69bada60ac541442e11ce5bbb127675446c22ec8707f05d",
"url": "https://osv.dev/vulnerability/CVE-2026-54733",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "moodle-local_o365: Authentication bypass via unverified JWT signature in Teams SSO endpoint",
"summary": "The Microsoft 365 and Microsoft Entra ID Plugins for Moodle provide Office 365 and Azure Active Directory integration for Moodle. Prior to 4.5.6, 5.0.5, and 5.1.1, the Microsoft Office 365 Integration plugin local_o365 Teams SSO endpoint sso_login.php base64-decodes a JWT payload and authenticates users from the upn claim without verifying the JWT signature, allowing an unauthenticated attacker to forge a token and obtain a Moodle session as an O365-authenticated user. This issue is fixed in versions 4.5.6, 5.0.5, and 5.1.1.",
"evidence": "osv:CVE-2026-54733",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-54733",
"aliases": [
"CVE-2026-54733",
"GHSA-hqjh-93qv-47v5"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/microsoft/o365-moodle",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "39f538c9e3e65aeefe77105042b8db773005ec13"
},
{
"introduced": "f255616739a1c1e3f4fd0f6359e9501e71da8590"
},
{
"fixed": "39a5b3d2ae55b4eec47897ee8932315cfd5882a9"
},
{
"introduced": "da127bc48f31dfdb659d5fe0e670e51f386ae3f6"
},
{
"fixed": "3ac0807e98c7a8bdb04dd9500b333186e94325ea"
},
{
"fixed": "01b2d4c2e13b06a66557527084cbf9bace655944"
},
{
"fixed": "258872f6e2011f4efa8ebb77d2898142a9435e89"
},
{
"fixed": "d5596655f0baaee0f11aec2e10d6f36b0bd29220"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "4.5.6"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "5.0.0"
},
{
"fixed": "5.0.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "5.1.0"
},
{
"fixed": "5.1.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "01b2d4c2e13b06a66557527084cbf9bace655944"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "258872f6e2011f4efa8ebb77d2898142a9435e89"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "d5596655f0baaee0f11aec2e10d6f36b0bd29220"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "39f538c9e3e65aeefe77105042b8db773005ec13"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v20260423_m405"
},
{
"range": [
{
"fixed": "39a5b3d2ae55b4eec47897ee8932315cfd5882a9"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v20260423_m500"
},
{
"range": [
{
"fixed": "3ac0807e98c7a8bdb04dd9500b333186e94325ea"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v20260423_m501"
}
]
}
}
],
"versions": [
"v4.5.5",
"v20251223_m405",
"v5.0.4",
"v20251223_m500",
"v5.1.0",
"v20260210_m501",
"v5.0.3",
"v20251211_m500",
"v4.5.4",
"v20251211_m405",
"v4.5.3",
"v20251209_m405",
"v5.0.2",
"v20251209_m500",
"v4.5.2",
"v20250303_m405",
"v5.0.1",
"v20251001_m500",
"v5.0.0",
"v20250929_m500",
"v4.5.1",
"v20250226_m405",
"v4.5.0",
"v20241125_m405",
"v4.4.1",
"v20241017_m404",
"v4.4.0",
"v20240722_m404",
"v4.3.5",
"v20240703_m403",
"v4.3.4",
"v20240702_m403",
"v4.3.3",
"v20240412_m403",
"v4.3.2",
"v20240313_m403",
"v4.3.1",
"v20240311_m403",
"v4.3.0",
"v20231218_m403",
"v4.2.2",
"v20231010_m402",
"v4.2.1",
"v20230628_m402",
"v4.1.1",
"v20230228_m401",
"v4.2.0",
"v20230525_m402",
"v4.1.0",
"v20221128_m41",
"v4.0.2",
"v20221012_m40",
"v20221006_m40",
"v4.0.1",
"v20220621_m40",
"v3.11.3",
"v20220411_m311",
"v4.0.0",
"v20220512_m40",
"v20220408_m311",
"v20220407_m311",
"v20220406_m311",
"v3.11.2",
"v20211207_m311",
"v3.11.1",
"v20211026_v311",
"v20211026_m311",
"v3.11.0",
"v20210901_m311",
"v3.10.3",
"v20210702_m310",
"v3.10.2",
"v20210629_m310",
"v3.10.1",
"v20210326_m310",
"v3.10.0",
"v20210128_m310",
"v3.9.2",
"v20201123_m39",
"v20201118_m39",
"v3.9.1",
"v20200929_m39",
"v3.9.0",
"v20200716_m39",
"v20200515_m38",
"v20200313_m38",
"v20200309_m38",
"v20200128_m37",
"v20191108_m37",
"v20191007_m37",
"v20190729_m37",
"v20190416_m36",
"v20190119_m35",
"v20181105_m35",
"v20180625_m35",
"v20180430_m34",
"v20171031_m32",
"v20171031_m33",
"v20180129_m34",
"v20170627_m32",
"v20170511_m32",
"v20170116_m31",
"v20170116_m32",
"v20161202_m31",
"v20161111_m31",
"v20160831_m31",
"v20160804_m31",
"v20160725_m31",
"v20160721_m31",
"v20160718_m31",
"v20160620_m30",
"v20160526_m30",
"v20160526_30",
"v20160425_m30",
"v20160411_m30",
"v20160328_m30",
"v20160229_m30",
"v20160216_m30",
"v20160201_m30",
"v20160119_m30",
"v20151214_m30",
"v20151130_m30",
"v20151116_m29",
"v20151019_m29",
"v20150928_m29",
"v20150804_m29",
"v20150601_m29",
"v20150601_m28",
"v20150519_m28",
"v20150504_m28",
"v20150421_m28",
"v20150327_m28",
"v20150324_m28",
"v20150316_m28",
"v20150310_m28",
"v28.0.0.1",
"v28.0.0.0",
"v27.0.0.1",
"v1.0.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54733.json"
}
}
],
"modified": "2026-10-28T02:30:35.728575741Z",
"provider": "osv",
"references": [
"https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m405",
"https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m500",
"https://github.com/microsoft/o365-moodle/releases/tag/v20260423_m501",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54733.json",
"https://github.com/microsoft/o365-moodle/security/advisories/GHSA-hqjh-93qv-47v5",
"https://nvd.nist.gov/vuln/detail/CVE-2026-54733",
"https://github.com/microsoft/o365-moodle/commit/01b2d4c2e13b06a66557527084cbf9bace655944",
"https://github.com/microsoft/o365-moodle/commit/258872f6e2011f4efa8ebb77d2898142a9435e89",
"https://github.com/microsoft/o365-moodle/commit/d5596655f0baaee0f11aec2e10d6f36b0bd29220"
],
"provider_metadata": {
"cwe_ids": [
"CWE-347"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54733.json"
}
},
"related_cves": [
{
"value": "CVE-2026-54733",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 503072,
"published_at": "2026-07-16T14:52:03.389+00:00"
}