CVE-2026-84974: code16/sharp: Arbitrary class instantiation through the embed_key API parameter

Published Nov 12, 2026
·
Updated

Impact

An authenticated attacker can instantiate any class in the PHP application by using the embedkey parameter across multiple API endpoints. The instantiation is performed by the Laravel container. As a result, the construct() method of the class is called and all constructor dependencies are resolved. The attacker cannot specify parameter values and cannot call any arbitrary method.

Patches

The problem has been patched in 9.23.0 and pre-release version 10.0.0-beta.4. An additional check was added to verify that embedkey is a class extending SharpFormEditorEmbed before any instantiation.

Workarounds

No known workarounds.

Other sources

code16/sharp: Arbitrary class instantiation through the embedkey API parameter

— Packagist

Affected Software

4 affected componentsFixes available
composer/code16/sharp>=10.0.0-beta.1<10.0.0-beta.4
10.0.0-beta.4
composer/code16/sharp<9.23.0
9.23.0
composer/code16/sharp>=10.0.0-beta.1, <10.0.0-beta.4
10.0.0-beta.4
composer/code16/sharp<9.23.0
9.23.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/code16/sharp to a version that resolves this vulnerability.

    Fixed in 10.0.0-beta.4
  2. Upgrade

    Upgrade composer/code16/sharp to a version that resolves this vulnerability.

    Fixed in 9.23.0
  3. Upgrade

    Upgrade code16/sharp to a version that resolves this vulnerability.

    Fixed in 9.23.0

Event History

Nov 12, 2026
Advisory Published
via GitHub·06:18 PM
Data Sourced
via GitHub·06:18 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via Packagist·06:18 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who can exploit this issue?

An attacker must be authenticated and able to send requests to API endpoints that accept the embed_key parameter. The issue is network-reachable and does not require user interaction.

2

What can an attacker do through embed_key?

The attacker can cause the Laravel container to instantiate arbitrary classes in the PHP application, invoking their constructors and resolving constructor dependencies. They cannot choose constructor parameter values or invoke arbitrary methods.

3

Which versions contain a fix?

The issue is patched in version 9.23.0 and in pre-release version 10.0.0-beta.4. The fix verifies that embed_key names a class extending SharpFormEditorEmbed before instantiation.

4

Is there a workaround if upgrading is not immediately possible?

No known workaround is provided. Upgrading to a patched version is the stated remediation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203