The vulnerability analysis indicates a missing authorization vulnerability in the Liferay Portal's calendar portlet. The root cause was the absence of a permission check in the updateCalendarNotificationTemplate method within the CalendarNotificationTemplateServiceImpl class. This flaw allowed any authenticated user to modify the content of email templates used for calendar notifications, which could be leveraged for phishing attacks against other users in the same organization.
The fix, distributed across multiple commits, addresses this by introducing a comprehensive permission model for the CalendarNotificationTemplate entity. The key changes were:
CalendarNotificationTemplateModelResourcePermission, was created to handle permission checks (like UPDATE) for CalendarNotificationTemplate objects (commit f238677d).updateCalendarNotificationTemplate method was modified to use this new permission checker, effectively closing the security hole (commit f238677d).addCalendarNotificationTemplate and deleteCalendarNotificationTemplate methods in CalendarNotificationTemplateLocalServiceImpl were updated to correctly manage the lifecycle of security resources associated with the templates (commits 7d70fab and ff18e7d).CalendarNotificationTemplate records in the database (commit a01a99cc).PrincipalException, thus verifying the fix (commit b396c00).Based on this evidence, the function com.liferay.calendar.service.impl.CalendarNotificationTemplateServiceImpl.updateCalendarNotificationTemplate is the specific runtime indicator that would appear in a profiler or stack trace during the exploitation of this vulnerability.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| com.liferay:com.liferay.calendar.service | maven | < 6.0.83 | 6.0.83 |
Ongoing coverage of React2Shell