Fix-SeptemberCU-Permission-Problem.ps1
Alternatively you can also remove the NT Authority\system account from WSS_WPG and IIS_IUSRS local security groups of the SharePoint machines.
For more details check this article: Trending Issue: SharePoint fixes fail to install after installation of September 2025 CU
Below are the security fixes for the SharePoint OnPrem versions released this month.
SharePoint Server 2016:
- KB 5002891 – SharePoint Server 2016 (language independent)
- KB 5002892 – SharePoint Server 2016 (language dependent)
Microsoft Support recommends to install the complete July 2026 CU for SharePoint 2016 rather than individual security fixes.
SharePoint Server 2019:
- KB 5002883 – SharePoint Server 2019 (language independent)
- KB 5002885 – SharePoint Server 2019 (language dependent)
Microsoft Support recommends to install the complete July 2026 CU for SharePoint 2019 rather than individual security fixes.
SharePoint Server Subscription Edition:
- KB 5002882 – SharePoint Server Subscription Edition
This security fix is identical with July 2026 CU for SharePoint Server Subscription Edition.
Office Online Server:
- KB 5002884 – Office Online Server
Security Vulnerabilities fixed in this PU
| Vulnerability | SP 2016 | SP 2019 | SP SE | OOS | Impact | Max Severity |
|---|---|---|---|---|---|---|
| CVE-2026-47642 | x | Remote Code Execution | Important | |||
| CVE-2026-48580 | x | Information Disclosure | Important | |||
| CVE-2026-50408 | x | Information Disclosure | Important | |||
| CVE-2026-50522 | x | x | x | Remote Code Execution | Critical | |
| CVE-2026-50675 | x | Remote Code Execution | Important | |||
| CVE-2026-50678 | x | Information Disclosure | Important | |||
| CVE-2026-54108 | x | x | x | Spoofing | Important | |
| CVE-2026-54131 | x | Remote Code Execution | Important | |||
| CVE-2026-55016 | x | x | x | Spoofing | Important | |
| CVE-2026-55019 | x | x | x | Spoofing | Important | |
| CVE-2026-55020 | x | x | x | Spoofing | Important | |
| CVE-2026-55021 | x | x | x | Spoofing | Important | |
| CVE-2026-55023 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55024 | x | Remote Code Execution | Important | |||
| CVE-2026-55025 | x | Remote Code Execution | Important | |||
| CVE-2026-55026 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55027 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55028 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55029 | x | Remote Code Execution | Important | |||
| CVE-2026-55030 | x | x | x | Spoofing | Important | |
| CVE-2026-55031 | x | Remote Code Execution | Important | |||
| CVE-2026-55032 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55033 | x | x | x | Remote Code Execution | Critical | |
| CVE-2026-55034 | x | x | x | Spoofing | Important | |
| CVE-2026-55035 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55036 | x | Remote Code Execution | Important | |||
| CVE-2026-55037 | x | Remote Code Execution | Important | |||
| CVE-2026-55038 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55039 | x | Remote Code Execution | Important | |||
| CVE-2026-55040 | x | x | x | Security Feature Bypass | Critical | |
| CVE-2026-55041 | x | Remote Code Execution | Important | |||
| CVE-2026-55044 | x | Remote Code Execution | Important | |||
| CVE-2026-55045 | x | x | x | Remote Code Execution | Critical | |
| CVE-2026-55046 | x | Information Disclosure | Important | |||
| CVE-2026-55047 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55048 | x | Remote Code Execution | Important | |||
| CVE-2026-55050 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55051 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55052 | x | x | x | Elevation of Privilege | Important | |
| CVE-2026-55053 | x | Remote Code Execution | Important | |||
| CVE-2026-55054 | x | Information Disclosure | Important | |||
| CVE-2026-55055 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55058 | x | Remote Code Execution | Important | |||
| CVE-2026-55122 | x | Information Disclosure | Important | |||
| CVE-2026-55124 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55125 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55126 | x | x | x | Spoofing | Important | |
| CVE-2026-55127 | x | x | x | Remote Code Execution | Critical | |
| CVE-2026-55128 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55130 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55131 | x | Remote Code Execution | Important | |||
| CVE-2026-55132 | x | x | x | Remote Code Execution | Critical | |
| CVE-2026-55134 | x | x | x | Remote Code Execution | Important | |
| CVE-2026-55135 | x | x | x | Spoofing | Important | |
| CVE-2026-55136 | x | Remote Code Execution | Important | |||
| CVE-2026-55137 | x | Remote Code Execution | Important | |||
| CVE-2026-55138 | x | Information Disclosure | Important | |||
| CVE-2026-55141 | x | Remote Code Execution | Important | |||
| CVE-2026-55142 | x | x | x | Information Disclosure | Important | |
| CVE-2026-55898 | x | Information Disclosure | Important | |||
| CVE-2026-55899 | x | Remote Code Execution | Important | |||
| CVE-2026-55947 | x | Remote Code Execution | Important | |||
| CVE-2026-55948 | x | Remote Code Execution | Important | |||
| CVE-2026-55949 | x | Remote Code Execution | Important | |||
| CVE-2026-56157 | x | x | x | Spoofing | Important | |
| CVE-2026-56164 | x | x | x | Elevation of Privilege | Moderate | |
| CVE-2026-56192 | x | x | x | Information Disclosure | Important | |
| CVE-2026-58277 | x | x | Elevation of Privilege | Important | ||
| CVE-2026-58618 | x | Remote Code Execution | Important |
See the Security Update Guide below for more details about the relevant fixes:

Permalink
Dear Stefan,
Good Morning !
For Critical SharePoint REC CVE- 2026-50522,reported today. Can you please check and let me know July 14 patches are suitable for this Vulnerability or any other patches will release by Microsoft.
Regards,
Mahesh D
Permalink
Hi Mahesh,
yes – see here:
https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-50522
Cheers,
Stefan
Permalink
Hi Stefan, related to the July (or recent) SharePoint Subscription CU, this past weekend, we were unable to complete our migration from SP16 to SPSE.
We ran into an issue accessing any app we newly deployed to the app catalog.
Our research indicates issues with Safe Controls, along with ULS errors containing “WebPartPageUserException. This page has encountered a critical error”
I realize there were security enhancements, but how do we resolve this, if you are familiar?
Anything to do woth:
AddGenericAllowedListValue(“AllowedTagPrefixesWhichAreNotWebControlsList?
Insight is VERY MUCH appreciated!
Permalink
Hi Andre,
my recommendation would be to analyze the ULS log and share the specific log entries (including event tags and detailed messages)
Cheers,
Stefan
Permalink
Thank you Stefan — the specific ULS entries after the APP/Addin generates the UI error is:
Microsoft.SharePoint.WebPartPages.WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.
at Microsoft.SharePoint.ApplicationRuntime.SafeControls.IsSafeControl(Boolean isAppWeb, String virtualPath)
at Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter.AllowVirtualReference(String referenceVirtualPath, VirtualReferenceType referenceType)
at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
at System.Web.UI.BaseTemplateParser.GetUserControlType(VirtualPath virtualPath)
at System.Web.UI.MainTagNameToTypeMapper.ProcessUserControlRegistration(UserControlRegisterEntry ucRegisterEntry)
at System.Web.UI.BaseTemplateParser.ProcessDirective(String directiveName, IDictionary directive)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
Have tried to apply the below, to no avail — but this seems to point at recent CU updates:
$f=Get-SPFarm;
“asp”,”SharePoint”,”Utilities”,”WebPartPages”,”wssuc” | % { $f.AddGenericAllowedListValue(“AllowedTagPrefixesWhichAreNotWebControlsList”,$_) };
$f.Update();
iisreset /noforce
Permalink
Hi Andre,
thanks!
This is the last and final ULS log entry – there should be one or more with a specific information which control got rejected.
For SPSE at least the following settings need to be applied:
Farm setting:
// add required entry
PS C:> $farm = Get-SPFarm
PS C:> $farm.AddGenericAllowedListValue(“AllowedTagPrefixesWhichAreNotWebControlsList”, “xsl:template”)
PS C:> $farm.Update()
Entry the web.config:
<SafeControl Assembly=”Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” Namespace=”Microsoft.SharePoint.WebPartPages” TypeName=”DataFormParameter” Safe=”True”
AllowPropertiesTraversal=”True” />
If this is not sufficient you need to check the ULS log for specific entries before the one you showed in the same correlation which highlights the controls or control elements it rejects to allow-list them.
Cheers,
Stefan
Permalink
Thanks Stefan, gave this a go, and moved to another error. Here is the first ULS entry on this one:
Safe mode did not start successfully. Microsoft.SharePoint.WebPartPages.WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.
at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList.GetSafeControlsListFromPath(SPWebApplication app, SPUrlZone zone)
at Microsoft.SharePoint.ApplicationRuntime.SafeControlsList..ctor(SPWebApplication app, SPUrlZone zone)
at Microsoft.SharePoint.ApplicationRuntime.SafeControls..ctor(SPWebApplication app, SPUrlZone zone)
Followed by:
Getting Error Message for Exception System.Web.HttpParseException (0x80004005): This page has encountered a critical error. Contact your system administrator if this problem persists. —> System.Web.HttpParseException (0x80004005): This page has encountered a critical error. Contact your system administrator if this problem persists. —> Microsoft.SharePoint.WebPartPages.WebPartPageUserException: This page has encountered a critical error. Contact your system administrator if this problem persists.
at Microsoft.SharePoint.ApplicationRuntime.SafeControls.IsSafeControl(Boolean isAppWeb, String virtualPath)
at Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter.AllowVirtualReference(String referenceVirtualPath, VirtualReferenceType referenceType)
at System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile)
at System.Web.UI.BaseTemplateParser.GetUserControlType(VirtualPath virtualPath)
at System.Web.UI.MainTagNameToTypeMapper.ProcessUserControlRegistration(UserControlRegisterEntry ucRegisterEntry)
at System.Web.UI.BaseTemplateParser.ProcessDirective(String directiveName, IDictionary directive)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.ParseInternal()
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Permalink
Hi Andre,
important would be to look at ULS log entries BEFORE these entries which – usually – highlight which controls or control elements are causing the problem.
Cheers,
Stefan
Permalink
Hi,
We have performed the upgrade for Sharepoint 2019 with the latest patches KB5002883/KB5002885. Post installation, we started to receive error messages in the Event Viewer that the timer service is unable to access the Logs folder and we received the errors in the event viewer as follows:
The Execute method of job definition Microsoft.SharePoint.Administration.SPUsageImportJobDefinition (ID a6020e4c-fb20-4a78-b031-c9b63deff49d) threw an exception. More information is included below.
Access to the path ‘C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\LOGS’ is denied.. (Correlation=44582ba2-f62c-400f-49c5-8af21b1ee825)
We have manually applied the permissions again, and this issue went away. Is this a common issue and can we fix it automatically post patch update?
Waiting for your advice.
Regards,
Permalink
Hi Noorul,
I have not seen any reports for this issue.
What permissions did you have to add?
Cheers,
Stefan
Permalink
We experienced this in SPSE for all servers as well. We added Modify permissions for the WSS_WPG group to the default SharePoint logs folder to resolve.
Permalink
Hi Andre,
this is interesting. WSS_WPG has read and write permission in my farms on the LOGS folder in the SPSE installation und
c:\program files\common files\microsoft shared\web server extensions\16\LOGS
Did you maybe configure a different LOGS directory?
Cheers,
Stefan
Permalink
Hi Stefan, can confirm this is the correct folder we had to add modify permissions for that group, and we saw ULS errors gone, and the logs correctly writing.
C:\Program Files\common files\microsoft shared\web server extensions\16\LOGS
Permalink
Hi Andre,
in general there should not be a need to modify permissions.
On my farms with July 2026 CU the WSS_WPG and the WSS_ADMIN_WPG groups already have read and write permissions.
If one of these permissions is missing, then you should add them – but would be interesting to understand why they got lost.
Cheers,
Stefan
Permalink
We added read-write and execute permissions for on the Logs folder for the service account running the timer service. It appeared on all the SP 2019 servers.
Permalink
Hi Noorul,
why did you have to add execute permissions?
This directory should not contain any executables.
Cheers,
Stefan
Permalink
Hi Noorul,
the WSS_ADMIN_WPG group should already have Read and Write permissions on this directory. Additionally, the farm service account – which is configured to run both the SharePoint Timer Service and the Central Administration application pool – must be a member of this group.
My recommendation would be to verify your configuration based on this.
Cheers,
Stefan
Permalink
Thanks, I ll check that.
Permalink
Hi,
We checked the farm, the access for WSS_ADMIN_WPG group to the logs folder was removed post patching activity. We manually added it back.
Regards,
Noorul Ahmed
Permalink
Stefan, circling back on the issue we were having with the apps not working in our SPSE environment. Our development team found an older post/fix in the January 2022 (KB5010126) CU for SP16.
This settings is configured for our SP16 farm (but not in SPSE):
Add-PSSnapin Microsoft.SharePoint.PowerShell
$farm = Get-SPFarm
$farm.SkipUpdateWebConfigPermission = $true
$farm.Update()
We manually granted the WSS_WPG group permissions to the web.config file that the SafeControls/configuration is read from, and this resolved the issue.
Is it recommended this workaround be used in SPSE in order to support custom apps/addins?
Appreciate your insight!
Permalink
Hi Andre,
this should only be required if custom code implemented in this app is trying to access the web.config file.
Is this the case in your scenario?
Cheers,
Stefan
Permalink
Dear colleagues, good day!
After installing the July 2019 update on several SharePoint SE and SharePoint 2019 systems, errors occurred when running PowerShell scripts for adding photos to user profiles.
The “Update-SPProfilePhotoStore -createthumbnailsForImportedPhotos $true -MySiteHostLocation xxx” command ends with an error:
Update-SPProfilePhotoStore : The property value was invalid. This could be caused by invalid non-text characters.
Similar notifications are also found in the ULs logs
UserProfile.Commit failed with the following reason: Microsoft.Office.Server.UserProfiles.InvalidValueException: Url is not safe: https://…
Also, changing the “PictureURL” property of a user profile results in the same error – The property value was invalid. This could be caused by invalid non-text characters.
This script hasn’t changed and has been working successfully for a long time. When filling out a field in the admin center interface, it successfully populates with the same data that it can’t update through PowerShell.
Colleagues, could you please check how it works for you?
Permalink
Hi Sergey,
ok – you are the second one who reports this here on my blog.
My suggestion would be to open a support case with Microsoft to ensure this is properly analyzed.
Cheers,
Stefan
Permalink
We’re experiencing the same regression, namely in the ULS logs after running the “Update-SPProfilePhotoStore -createthumbnailsForImportedPhotos $true -MySiteHostLocation xxx” command we get in the ULS logs: EditUserProfile_Commit Failure: Microsoft.Office.Server.UserProfiles.InvalidValueException: Url is not safe: https://mysitetest.yourcorporation.com:443/User Photos/Profile Pictures/auser_MThumb.jpg at Microsoft.Office.Server.UserProfiles.UserProfile.Commit(Boolean allowUnsafeUpdates).
Permalink
Hi Sergey,
I just sent you some sample code to evaluate by email.
Please let me know if this resolves the issue.
Cheers,
Stefan
Permalink
Hi Stefan!
many thanks, but it not resolve my problem
I sent mail with ULS log file
Permalink
Hi Sergey
I’m facing the same issue.
Were you able to solve it?
Permalink
Hello Stefan,
I am currently facing an issue on a SharePoint 2019 environment.
Since the July patching, we have been seeing several “System.UnauthorizedAccessException” errors on the intranet, especially during REST API calls such as:
/_api/web/Lists?$select=Title
or:
/_api/search/postquery
In addition, on the Office Online Server side, when opening a document, users receive the following yellow warning popup:
“UPLOAD FAILED: You are required to sign in to upload your changes.”
Do you have any recommendations, known workarounds, or corrective actions that could help resolve this issue?
Please also note that the environment is deployed behind a Powell Manager layer and uses Microsoft Entra ID authentication.
In this configuration, the SharePoint web application is extended, and AzureCP is used for the integration with Microsoft Entra ID.
Best regards,
Farid
Permalink
Hi Farid,
this sounds like a known issue with Distributed Cache introduced in July CU.
A fix is in development and is planned to be made available next week.
Cheers,
Stefan
Permalink
Hello Stefan,
Thank you for your response.
I have reviewed all the configuration settings, including cache-related settings, CacheStatistics, form digest expiration, and several other parameters. Everything appears to be correctly.
We seem to be facing two different issues.
In our test environment, where the Web Front-End and Distributed Cache roles are hosted on a single server, Search stopped working after the July patching. However, we did not observe any 401 authentication issues.
In the production environment, which is distributed across multiple Web Front-End servers, dedicated Cache servers, and dedicated Search servers, Search is working correctly. However, we are experiencing intermittent 401 authentication errors as well as issues with Office Online Server,
The differences between the two environments make the root cause difficult to identify
So, there is nothing more we can do at this stage. We can only wait for Microsoft’s fix to be released next week.
Best regards,
Farid
Permalink
We are also seeing issue with the userprofile pictureurl not able to update throws URL invalid.
Any solution found.
Permalink
Hi Kiran,
Yes – this is a known issue in July 2026 CU.
A fix for SP2019 and SPSE is planned to be released next week.
As a workaround for now, add the following server debug flag before performing the change:
$f = Get-SPFarm
$f.ServerDebugFlags.Add(53534);
$f.Update()
After the change is performed revert the setting:
$f = Get-SPFarm
$f.ServerDebugFlags.Remove(53534);
$f.Update()
Cheers,
Stefan
Permalink
Thank you Stephen. This seems to work now. Appreciate your help. Will look forward for the upcoming fix .