Activities of "murat.kebabci"

Our recent penetration test flagged a high-severity vulnerability (CWE-94, CVE-2023-32571 class) regarding how the ABP framework natively handles the sorting parameter in its built-in paged list endpoints.

Affected Endpoints:

  • Virtually every default paged ABP list endpoint exposing ?sorting= (Verified specifically against GET /api/identity/users and GET /api/audit-logging/audit-logs, affecting ~80 built-in endpoints).

Issue Details: The ?sorting= query string is natively passed to System.Linq.Dynamic.Core by the framework without a strict allow-list mechanism. Consequently, arbitrary entity properties—including critical server-only columns like PasswordHash, SecurityStamp, and ConcurrencyStamp—along with string method invocations (e.g., .Substring, .Length) and ternary boolean predicates, are evaluated server-side. This creates a data-exfiltration blind oracle out-of-the-box. Server-only columns are accepted as sort keys, and rows are ordered by their actual values, allowing attackers to extract sensitive data character by character.

Requested Framework-Level Remediation: Since this vulnerability stems from the core framework's default implementation, we are requesting a structural patch/fix in the ABP framework itself rather than implementing manual overrides for every endpoint. Specifically, we request that the ABP team:

  1. Secure by Default: Update the framework to utilize a static allow-list validation mechanism for IGetListInput.Sorting by default, rejecting any unmapped or sensitive columns (like PasswordHash) with an HTTP 400 before they reach .OrderBy().
  2. Restrict ParsingConfig: Update the default ABP pipeline's System.Linq.Dynamic.Core ParsingConfig to strictly disable method-invocation, ternary-conditional, and substring-style accessors.

Could you please confirm if this issue is already being tracked, and in which upcoming release we can expect a framework-level patch for this vulnerability?

A penetration test revealed a high-severity email enumeration vulnerability (CWE-204, OWASP ASVS 4.0.3 §V2.6.7) on the account module's password reset endpoint.

Affected Endpoint:

  • POST /api/account/send-password-reset-code

Issue Details: The endpoint returns differential responses based on whether the supplied email exists in the selected user store.

  • If the email exists: Returns HTTP 500 (e.g., An internal error occurred...)
  • If the email does not exist: Returns HTTP 403 (e.g., Can not find the given email address...)

Additionally, passing a __tenant: header allows the lookup to pivot against any named tenant's user store without rate limits. We observed that the preventEmailEnumeration setting under /api/account-admin/settings appears to be false.

Requested Assistance & Remediation Guidance: We need to configure the password-reset action to always return an HTTP 200 with a uniform response body, regardless of whether the email exists in the system. How can we properly enforce preventEmailEnumeration: true globally and secure this endpoint against enumeration attacks in our current version?

We have identified a high-severity security finding (CWE-204: Observable Response Discrepancy) during a recent penetration test regarding the default tenant lookup endpoints in the ABP framework.

Affected Endpoints:

  • GET /api/abp/multi-tenancy/tenants/by-name/{name}
  • GET /api/abp/multi-tenancy/tenants/by-id/{guid}

Issue Details: Both lookups return existence-oracle responses anonymously. There is no rate limiting in place. The tenant UUIDs feed several other tenant-aware unauthenticated endpoints, allowing an attacker to enumerate valid tenants on the system.

Requested Assistance & Remediation Guidance: The SPA does not require anonymous tenant lookup once the login URL accepts a tenant query parameter. Can you provide the recommended approach to either:

  1. Enforce the MultiTenancy permission on both endpoints to prevent unauthenticated access.
  2. Completely remove or disable these endpoints from the public route in our current ABP version.
  • ABP Framework version: v8.3.4
  • UI Type: Angular
  • Database System: EF Core (SQL Server & PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Steps to reproduce the issue:

I have enabled the Dynamic Claims feature in my application to prevent concurrent logins by adding the following configurations in HttpApiHostModule and AuthServerModule:

context.Services.Configure(options => { options.IsDynamicClaimsEnabled = true; });

app.UseDynamicClaims();

I placed app.UseDynamicClaims(); before app.UseAuthorization(); as recommended in the documentation.

However, I am facing the following issue:

When logging in as a host admin, the granted permissions are empty in the application configuration. This prevents the admin from seeing menus and accessing certain pages.

  • ABP Framework version: v6.0.3
  • UI Type: Angular
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Steps to reproduce the issue:

Entering the host tenant. Navigate to the feature settings of any tenant. Click on Identity and then click Cancel. Access the feature settings of that tenant again. Observed Result: The previously closed pop-up, which is the Identity section, initially appears, followed by the first tab, which is Setting Management. Expected Result: The Setting Management tab, located in the first tab, should be displayed directly.

  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

Hello, I created a question about non-deterministic collations for postgresql few months ago. Related methods of some repositories such as EfCoreIdentityUserRepository and EfCoreIdentityRoleRepository are overriden as you suggested. EfCoreLanguageRepository methods cannot be overriden, do you have a plan to determine collations for such methods or any suggestions other than using citext?

Mentioned question: https://support.abp.io/QA/Questions/4877/Nondeterministic-Collations-cause-error-on-search-bars

  • ABP Framework version: v6.0.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • ---------- Exception Data ---------- Severity = ERROR InvariantSeverity = ERROR SqlState = 0A000 MessageText = nondeterministic collations are not supported for substring searches File = varlena.c Line = 1209 Routine = text_position_setup
  • Steps to reproduce the issue:
  • Hello,
  • There is a filtering issue on administration pages that with search bar for the application that has a postgresql database. It causes error on the user interface when user wants to use search bar. In our application, we set the collation in filtering for such cases. Since ABP supports postgresql, can you fix related repository methods?

Hi,

I want to customize your login page. But I want to use components separately. For example, I will use a language component under the page, use tenant component at the top of page. But I don't want to use css. Can I use your angular components as I explain and how?

Hi,

I am upgrading my npm package v2.9.0 to v3.0.5. I created custum settings page in service page.

addSettingTab({
  component: MySettingsComponents,
  name: 'SettingsMenu',
  order: 1
});

How can I use settings tab in my npm package? Custom page link

Old and new version is not working. Which page should use this module?

this.settingTabs.add([
      {
        component: MySettingsComponents,
        name: 'MySettingsComponents',
        order: 1,
      },
]);
Question

Users, Roles , Claim type, Languages, Audit Logs page are not showing data. Removed node modules, yarn and package-lock. And then installation all packages. Packages versions;

This is error

This is error line. I am using open on hover menu.

Showing 1 to 10 of 12 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on October 21, 2026, 11:09
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.