Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

AutoMapper Vulnerable to Denial of Service (DoS) via Uncontrolled Recursion

CVSS 3.1 7.5 HIGHEUVD CVSS 3.1 7.5 CVSS 3.1 · [email protected] · Secondary 7.5 HIGHCVSS_V3 Publisher rating HIGHFixed by AutoMapper 16.1.1Fixed by AutoMapper 15.1.1KEV status unknown

cve-program · CVE-2026-32933

Published

AutoMapper is a convention-based object-object mapper in .NET. Versions prior to 15.1.1 and 16.1.1 are vulnerable to a Denial of Service (DoS) attack. When mapping deeply nested object graphs, the library uses recursive method calls without enforcing a default maximum depth limit. This allows an attacker to provide a specially crafted object graph that exhausts the thread's stack memory, triggering a `StackOverflowException` and causing the entire application process to terminate. Versions 15.1.1 and 16.1.1 fix the issue.

Read the publisher's advisory

euvd · EUVD-2026-13505

Published

AutoMapper is a convention-based object-object mapper in .NET. Versions prior to 15.1.1 and 16.1.1 are vulnerable to a Denial of Service (DoS) attack. When mapping deeply nested object graphs, the library uses recursive method calls without enforcing a default maximum depth limit. This allows an attacker to provide a specially crafted object graph that exhausts the thread's stack memory, triggering a `StackOverflowException` and causing the entire application process to terminate. Versions 15.1.1 and 16.1.1 fix the issue.

Read the publisher's advisory

nvd · CVE-2026-32933

Published

AutoMapper is a convention-based object-object mapper in .NET. Versions prior to 15.1.1 and 16.1.1 are vulnerable to a Denial of Service (DoS) attack. When mapping deeply nested object graphs, the library uses recursive method calls without enforcing a default maximum depth limit. This allows an attacker to provide a specially crafted object graph that exhausts the thread's stack memory, triggering a `StackOverflowException` and causing the entire application process to terminate. Versions 15.1.1 and 16.1.1 fix the issue.

Read the publisher's advisory

osv · GHSA-rvv3-g6hj-g44x

Published

### Summary AutoMapper is vulnerable to a Denial of Service (DoS) attack. When mapping deeply nested object graphs, the library uses recursive method calls without enforcing a default maximum depth limit. This allows an attacker to provide a specially crafted object graph that exhausts the thread's stack memory, triggering a `StackOverflowException` and causing the entire application process to terminate. ### Description The vulnerability exists in the core mapping engine. When a source object contains a property of the same type (or a type that eventually points back to itself), AutoMapper recursively attempts to map each level. Because there is no default limit on how many levels deep this recursion can go, a sufficiently nested object (approximately 25,000+ levels in standard .NET environments) will exceed the stack size. Since `StackOverflowException` cannot be caught in modern .NET runtimes, the application cannot recover and will crash immediately. ### Impact * **Availability:** An attacker can crash the application server, leading to a complete Denial of Service. * **Process Termination:** Unlike standard exceptions, this terminates the entire process, not just the individual request thread. ### Proof of Concept (PoC) The following C# code demonstrates the crash by creating a nested "Circular" object graph and attempting to map it: ```csharp class Circular { public Circular Self { get; set; } } // Setup configuration var config = new MapperConfiguration(cfg => { cfg.CreateMap<Circular, Circular>(); }); var mapper = config.CreateMapper(); // Create a deeply nested object (28,000+ levels) var root = new Circular(); var current = root; for (int i = 0; i < 30000; i++) { current.Self = new Circular(); current = current.Self; } // This call triggers the StackOverflowException and crashes the process mapper.Map<Circular>(root); ``` ### Recommended Mitigation 1. **Secure Defaults:** Implement a default `MaxDepth` (e.g., 32 or 64) for all mapping operations. 2. **Configurable Limit:** Allow users to increase this limit if necessary, but ensure it is enabled by default to protect unsuspecting developers.

Read the publisher's advisory

Affected versions, risk and source history

cve-program · CVE-2026-32933

Published

AutoMapper

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "vendor": "LuckyPennySoftware",
                    "product": "AutoMapper",
                    "versions": [
                        {
                            "version": ">= 16.0.0, < 16.1.1",
                            "status": "affected"
                        },
                        {
                            "version": "< 15.1.1",
                            "status": "affected"
                        }
                    ]
                }

Original source record · Cite this exact observation · Complete original publisher JSON

euvd · EUVD-2026-13505

Published

EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.

Original publisher date fields

datePublished: Mar 20, 2026, 2:38:41 AM

dateUpdated: Mar 20, 2026, 8:02:58 PM

No normalized affected-package data is projected for this source revision. The original publisher record may contain additional product and version evidence; this does not establish that a package is unaffected.

Original source record · Cite this exact observation · Complete original publisher JSON

nvd · CVE-2026-32933

Published

NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.

Source analysis status: Analyzed

Weakness classifications: CWE-674

Original publisher date fields

published: 2026-03-20T03:16:00.430

lastModified: 2026-06-17T10:36:35.263

1 source CPE criteria · context only
  • cpe:2.3:a:luckypennysoftware:automapper:*:*:*:*:*:*:*:*

The original JSON retains the logical configuration operators, exclusions and version bounds.

No normalized affected-package data is projected for this source revision. The original publisher record may contain additional product and version evidence; this does not establish that a package is unaffected.

Original source record · Cite this exact observation · Complete original publisher JSON

osv · GHSA-rvv3-g6hj-g44x

Published

AutoMapper

NuGet

ECOSYSTEM · introduced 16.0.0 → fixed 16.1.1

2 versions listed as affected

16.0.0, 16.1.0

AutoMapper

NuGet

ECOSYSTEM · introduced 0 → fixed 15.1.1

227 versions listed as affected

1.1.0.118, 1.1.1, 1.1.2, 10.0.0, 10.1.0, 10.1.1, 11.0.0, 11.0.1, 12.0.0, 12.0.1, 13.0.0, 13.0.1, 14.0.0, 15.0.0, 15.0.1, 15.1.0, 2.0.0, 2.1.1, 2.1.262, 2.1.265, 2.1.266, 2.1.267, 2.2.0, 2.2.1, 2.2.1-ci10, 2.2.1-ci1000, 2.2.1-ci11, 2.2.1-ci15, 2.2.1-ci16, 2.2.1-ci17, 2.2.1-ci4, 2.2.1-ci5, 2.2.1-ci6, 2.2.1-ci7, 2.2.1-ci8, 2.2.1-ci9, 2.2.1-ci9000, 2.2.1-ci9001, 2.2.1-ci9002, 2.2.1-ci9003, 2.2.1-ci9004, 2.2.1-ci9005, 2.2.1-ci9006, 2.2.24-ci, 2.2.25-ci, 3.0.0, 3.0.0-ci1026, 3.0.0-ci1028, 3.0.0-ci1029, 3.0.0-ci1031, 3.0.0-ci1032, 3.0.0-ci1033, 3.0.0-ci1034, 3.0.0-ci1035, 3.0.0-ci1036, 3.0.0-ci1037, 3.0.0-ci1038, 3.0.0-ci1039, 3.0.0-ci1040, 3.0.0-ci1041, 3.0.0-ci1042, 3.0.0-ci1043, 3.0.0-ci1053, 3.1.0, 3.1.0-ci1014, 3.1.0-ci1016, 3.1.0-ci1017, 3.1.0-ci1018, 3.1.0-ci1019, 3.1.0-ci1020, 3.1.0-ci1021, 3.1.0-ci1022, 3.1.0-ci1023, 3.1.0-ci1024, 3.1.0-ci1026, 3.1.0-ci1027, 3.1.0-ci1032, 3.1.0-ci1033, 3.1.0-ci1034, 3.1.0-ci1035, 3.1.0-ci1036, 3.1.0-ci1037, 3.1.0-ci1038, 3.1.0-ci1043, 3.1.0-ci1044, 3.1.0-ci1045, 3.1.0-ci1046, 3.1.0-ci1047, 3.1.0-ci1048, 3.1.0-ci1049, 3.1.0-ci1050, 3.1.0-ci1051, 3.1.0-ci1053, 3.1.0-ci1056, 3.1.0-ci1058, 3.1.1, 3.1.1-ci1000, 3.1.1-ci1003, 3.2.0, 3.2.0-ci1000, 3.2.0-ci1001, 3.2.0-ci1002, 3.2.0-ci1003, 3.2.0-ci1004, 3.2.0-ci1005, 3.2.0-ci1008, 3.2.0-ci1009, 3.2.0-ci1010, 3.2.0-ci1011, 3.2.0-ci1014, 3.2.0-ci1015, 3.2.0-ci1016, 3.2.0-ci1017, 3.2.0-ci1021, 3.2.0-ci1022, 3.2.0-ci1023, 3.2.0-ci1024, 3.2.0-ci1025, 3.2.0-ci1026, 3.2.0-ci1027, 3.2.0-ci1028, 3.2.0-ci1029, 3.2.0-ci1030, 3.2.0-ci1033, 3.2.0-ci1034, 3.2.0-ci1035, 3.2.0-ci1036, 3.2.0-ci1037, 3.2.0-ci1038, 3.2.0-ci1039, 3.2.0-ci1040, 3.2.0-ci1041, 3.2.0-ci1042, 3.2.0-ci1043, 3.2.1, 3.2.1-ci1000, 3.2.1-ci1001, 3.2.1-ci1002, 3.3.0, 3.3.0-ci1000, 3.3.0-ci1001, 3.3.0-ci1002, 3.3.0-ci1003, 3.3.0-ci1004, 3.3.0-ci1005, 3.3.0-ci1006, 3.3.0-ci1007, 3.3.0-ci1008, 3.3.0-ci1009, 3.3.0-ci1016, 3.3.0-ci1017, 3.3.0-ci1018, 3.3.0-ci1019, 3.3.0-ci1020, 3.3.0-ci1021, 3.3.0-ci1022, 3.3.0-ci1023, 3.3.0-ci1024, 3.3.0-ci1025, 3.3.0-ci1026, 3.3.0-ci1027, 3.3.0-ci1028, 3.3.0-ci1029, 3.3.0-ci1030, 3.3.0-ci1031, 3.3.0-ci1032, 3.3.0-ci1033, 3.3.1, 4.0.0, 4.0.0-alpha1, 4.0.0-ci1002, 4.0.0-ci1004, 4.0.0-ci1006, 4.0.0-ci1007, 4.0.0-ci1014, 4.0.0-ci1015, 4.0.0-ci1017, 4.0.0-ci1018, 4.0.0-ci1019, 4.0.0-ci1020, 4.0.0-ci1021, 4.0.0-ci1026, 4.0.0-ci1031, 4.0.0-ci1032, 4.0.0-ci1034, 4.0.0-ci1036, 4.0.0-ci1038, 4.0.0-ci1046, 4.0.0-ci1049, 4.0.0-ci1050, 4.0.0-ci1051, 4.0.0-ci1052, 4.0.0-ci1053, 4.0.0-ci1054, 4.0.0-ci1056, 4.0.0-ci1057, 4.0.0-ci1061, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.1.0, 4.1.1, 4.2.0, 4.2.1, 5.0.0, 5.0.0-beta-1, 5.0.1, 5.0.2, 5.1.0, 5.1.1, 5.2.0, 6.0.0, 6.0.1, 6.0.2, 6.1.0, 6.1.1, 6.2.0, 6.2.1, 6.2.2, 7.0.0, 7.0.0-alpha-0001, 7.0.1, 8.0.0, 8.1.0, 8.1.1, 9.0.0

Original source record · Cite this exact observation · Complete original publisher JSON

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 15 Nov 23:13 UTC · 274 of 275 readable · 250 fully read · 18 waiting for GitHub's hourly limit · documentation 461/469 current