VYPR
Moderate severityNVD Advisory· Published Aug 12, 2025· Updated Aug 12, 2025

CVE-2025-43736

CVE-2025-43736

Description

A Denial Of Service via File Upload (DOS) vulnerability in the Liferay Portal 7.4.3.0 through 7.4.3.132, and Liferay DXP 2025.Q1.0 through 2025.Q1.8, 2024.Q4.0 through 2024.Q4.7, 2024.Q3.0 through 2024.Q3.13, 2024.Q2.0 through 2024.Q2.13, 2024.Q1.1 through 2024.Q1.16 and 7.4 GA through update 92 allows a user to upload more than 300kb profile picture into the user profile. This size more than the noted max 300kb size. This extra amount of data can make Liferay slower.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
com.liferay.portal:release.portal.bomMaven
>= 7.4.3.0, <= 7.4.3.132
com.liferay.portal:release.dxp.bomMaven
>= 2025.Q1.0, < 2025.Q1.92025.Q1.9
com.liferay.portal:release.dxp.bomMaven
>= 2024.Q4.0, <= 2024.Q4.7
com.liferay.portal:release.dxp.bomMaven
>= 2024.Q3.0, <= 2024.Q3.13
com.liferay.portal:release.dxp.bomMaven
>= 2024.Q2.0, <= 2024.Q2.13
com.liferay.portal:release.dxp.bomMaven
>= 2024.Q1.0, < 2024.Q1.172024.Q1.17
com.liferay.portal:release.dxp.bomMaven
<= 7.4.13.u92
com.liferay:com.liferay.frontend.taglibMaven
< 13.10.013.10.0
com.liferay:com.liferay.image.uploader.webMaven
< 5.0.565.0.56
com.liferay:com.liferay.users.admin.webMaven
< 11.0.2711.0.27
com.liferay:com.liferay.account.admin.webMaven
< 2.0.1382.0.138

Affected products

2

Patches

1
ab8932bee29d

LPD-52424 Fix the logic of max file size check

https://github.com/liferay/liferay-portalMatyas WollnerApr 16, 2025via ghsa
7 files changed · +26 1
  • modules/apps/account/account-admin-web/src/main/resources/META-INF/resources/account_entries_admin/add_account_user.jsp+1 0 modified
    @@ -83,6 +83,7 @@ renderResponse.setTitle(LanguageUtil.format(request, "add-new-user-to-x", accoun
     				currentLogoURL='<%= themeDisplay.getPathImage() + "/user_portrait?img_id=0" %>'
     				defaultLogoURL='<%= themeDisplay.getPathImage() + "/user_portrait?img_id=0" %>'
     				label='<%= LanguageUtil.get(request, "image") %>'
    +				type="user_portrait"
     			/>
     
     			<aui:input label="job-title" maxlength='<%= ModelHintsUtil.getMaxLength(Contact.class.getName(), "jobTitle") %>' name="jobTitle" type="text" />
    
  • modules/apps/account/account-admin-web/src/main/resources/META-INF/resources/account_user_registration/create_account_user.jsp+1 0 modified
    @@ -80,6 +80,7 @@ portletDisplay.setURLBack(backURL);
     					currentLogoURL='<%= themeDisplay.getPathImage() + "/user_portrait?img_id=0" %>'
     					defaultLogoURL='<%= themeDisplay.getPathImage() + "/user_portrait?img_id=0" %>'
     					label='<%= LanguageUtil.get(request, "image") %>'
    +					type="user_portrait"
     				/>
     
     				<aui:input name="screenName">
    
  • modules/apps/frontend-taglib/frontend-taglib/src/main/java/com/liferay/frontend/taglib/servlet/taglib/LogoSelectorTag.java+12 0 modified
    @@ -58,6 +58,10 @@ public String getPortletNamespace() {
     		return _portletNamespace;
     	}
     
    +	public String getType() {
    +		return _type;
    +	}
    +
     	public boolean isDisabled() {
     		return _disabled;
     	}
    @@ -105,6 +109,10 @@ public void setPreserveRatio(boolean preserveRatio) {
     		_preserveRatio = preserveRatio;
     	}
     
    +	public void setType(String type) {
    +		_type = type;
    +	}
    +
     	@Override
     	protected void cleanUp() {
     		super.cleanUp();
    @@ -117,6 +125,7 @@ protected void cleanUp() {
     		_label = null;
     		_portletNamespace = null;
     		_preserveRatio = false;
    +		_type = null;
     	}
     
     	@Override
    @@ -199,6 +208,8 @@ private String _getSelectLogoURL(
     			"preserveRatio", isPreserveRatio()
     		).setParameter(
     			"randomNamespace", randomNamespace
    +		).setParameter(
    +			"type", getType()
     		).setWindowState(
     			LiferayWindowState.POP_UP
     		).buildString();
    @@ -214,5 +225,6 @@ private String _getSelectLogoURL(
     	private String _label;
     	private String _portletNamespace;
     	private boolean _preserveRatio;
    +	private String _type;
     
     }
    \ No newline at end of file
    
  • modules/apps/frontend-taglib/frontend-taglib/src/main/resources/META-INF/liferay-frontend.tld+5 0 modified
    @@ -637,6 +637,11 @@
     			<rtexprvalue>true</rtexprvalue>
     			<type>boolean</type>
     		</attribute>
    +		<attribute>
    +			<name>type</name>
    +			<required>false</required>
    +			<rtexprvalue>true</rtexprvalue>
    +		</attribute>
     	</tag>
     	<tag>
     		<name>resource-selector</name>
    
  • modules/apps/image-uploader/image-uploader-web/src/main/java/com/liferay/image/uploader/web/internal/util/UploadImageUtil.java+4 1 modified
    @@ -30,6 +30,7 @@ public class UploadImageUtil {
     
     	public static long getMaxFileSize(PortletRequest portletRequest) {
     		String currentLogoURL = portletRequest.getParameter("currentLogoURL");
    +		String type = portletRequest.getParameter("type");
     
     		ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
     			WebKeys.THEME_DISPLAY);
    @@ -45,7 +46,9 @@ public static long getMaxFileSize(PortletRequest portletRequest) {
     				themeDisplay.getPathImage() + "/user_male_portrait") ||
     			StringUtil.startsWith(
     				currentLogoURL,
    -				themeDisplay.getPathImage() + "/user_portrait")) {
    +				themeDisplay.getPathImage() + "/user_portrait") ||
    +			StringUtil.equals(type, "organization_portrait") ||
    +			StringUtil.equals(type, "user_portrait")) {
     
     			UserFileUploadsSettings userFileUploadsSettings =
     				_userFileUploadSettingsSnapshot.get();
    
  • modules/apps/users-admin/users-admin-web/src/main/resources/META-INF/resources/organization/details.jsp+1 0 modified
    @@ -38,6 +38,7 @@ if (organization != null) {
     	currentLogoURL='<%= (organization != null) ? organization.getLogoURL() : themeDisplay.getPathImage() + "/organization_logo?img_id=0" %>'
     	defaultLogoURL='<%= themeDisplay.getPathImage() + "/organization_logo?img_id=0" %>'
     	label='<%= LanguageUtil.get(request, "image") %>'
    +	type="organization_portrait"
     />
     
     <aui:input name="name" />
    
  • modules/apps/users-admin/users-admin-web/src/main/resources/META-INF/resources/user/user_display_data.jsp+2 0 modified
    @@ -78,6 +78,7 @@ User selUser = (User)request.getAttribute(UsersAdminWebKeys.SELECTED_USER);
     					defaultLogoURL="<%= UserConstants.getPortraitURL(themeDisplay.getPathImage(), selUser.isMale(), 0, null) %>"
     					label='<%= LanguageUtil.get(request, "image") %>'
     					preserveRatio="<%= true %>"
    +					type="user_portrait"
     				/>
     			</c:when>
     			<c:otherwise>
    @@ -92,6 +93,7 @@ User selUser = (User)request.getAttribute(UsersAdminWebKeys.SELECTED_USER);
     			defaultLogoURL='<%= themeDisplay.getPathImage() + "/user_portrait?img_id=0" %>'
     			label='<%= LanguageUtil.get(request, "image") %>'
     			preserveRatio="<%= true %>"
    +			type="user_portrait"
     		/>
     	</c:otherwise>
     </c:choose>
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

5

News mentions

0

No linked articles in our index yet.