Description
Objenesis before 3.6 contains a type confusion vulnerability that allows code in one class loader to substitute objects into another by exploiting instantiator caching keyed on class name. When a shared ObjenesisStd instance caches instantiators by clazz.getName() in ObjenesisBase.getInstantiatorOf(), same-named classes collide, causing newInstance() to return wrong-class objects and ClassCastException failures.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
easymock objenesis
Default version status: unaffected
0 to < 3.6affected3.6unaffected
pkg:maven/org.objenesis/objenesisReferences
- https://github.com/easymock/objenesis/commit/40f90f435a06b16af74a7398f0007faeaa52c00c ↗
- https://github.com/easymock/objenesis/security/advisories/GHSA-743r-26gf-97ff ↗
- https://github.com/easymock/objenesis/blob/fb36e5c377ed1bf57a18386fa79d2eed4ddfcfac/main/src/main/java/org/objenesis/ObjenesisBase.java#L92-L95 ↗
- https://github.com/easymock/objenesis ↗
- https://www.vulncheck.com/advisories/objenesis-before-3.6-type-confusion-via-class-name-instantiator-cache ↗