GHSA-62f6-h68r-3jpw
Zendframework session validation vulnerability
Zend\Session session validators do not work as expected if set prior to the start of a session.
For instance, the following test case fails (where $this->manager is an instance of Zend\Session\SessionManager):
$this
->manager
->getValidatorChain()
->attach('session.validate', array(new RemoteAddr(), 'isValid'));
$this->manager->start();
$this->assertSame(
array(
'Zend\Session\Validator\RemoteAddr' =3D> '',
),
$_SESSION['__ZF']['_VALID']
);
The implication is that subsequent calls to Zend\Session\SessionManager#start() (in later requests, assuming a session was created) will not have any validator metadata attached, which causes any validator metadata to be re-built from scratch, thus marking the session as valid.
An attacker is thus able to simply ignore session validators such as RemoteAddr or HttpUserAgent, since the "signature" that these validators check against is not being stored in the session.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
What each source reports
GitHub Advisories Score used 6.5
Zendframework session validation vulnerability
Zend\Session session validators do not work as expected if set prior to the start of a session.
For instance, the following test case fails (where $this->manager is an instance of Zend\Session\SessionManager):
$this
->manager
->getValidatorChain()
->attach('session.validate', array(new RemoteAddr(), 'isValid'));
$this->manager->start();
$this->assertSame(
array(
'Zend\Session\Validator\RemoteAddr' =3D> '',
),
$_SESSION['__ZF']['_VALID']
);
The implication is that subsequent calls to Zend\Session\SessionManager#start() (in later requests, assuming a session was created) will not have any validator metadata attached, which causes any validator metadata to be re-built from scratch, thus marking the session as valid.
An attacker is thus able to simply ignore session validators such as RemoteAddr or HttpUserAgent, since the "signature" that these validators check against is not being stored in the session.
- Record
GHSA-62f6-h68r-3jpw- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-384
- Updated
- 2026-11-02
OSV 6.5
Zendframework session validation vulnerability
Zend\Session session validators do not work as expected if set prior to the start of a session.
For instance, the following test case fails (where $this->manager is an instance of Zend\Session\SessionManager):
$this
->manager
->getValidatorChain()
->attach('session.validate', array(new RemoteAddr(), 'isValid'));
$this->manager->start();
$this->assertSame(
array(
'Zend\Session\Validator\RemoteAddr' =3D> '',
),
$_SESSION['__ZF']['_VALID']
);
The implication is that subsequent calls to Zend\Session\SessionManager#start() (in later requests, assuming a session was created) will not have any validator metadata attached, which causes any validator metadata to be re-built from scratch, thus marking the session as valid.
An attacker is thus able to simply ignore session validators such as RemoteAddr or HttpUserAgent, since the "signature" that these validators check against is not being stored in the session.
- Record
GHSA-62f6-h68r-3jpw- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-384
- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
zendframework/zendframeworkPackagist | 2.0.0 up to 2.2.9 | 2.2.9 |
zendframework/zendframeworkPackagist | 2.3.0 up to 2.3.4 | 2.3.4 |
zendframework/zendframeworkPackagist | 2.0.0 up to 2.2.9, plus listed versions 2.0.12.0.22.0.32.0.42.0.5 Show 22 moreShow less2.0.62.0.72.0.82.1.02.1.12.1.22.1.32.1.42.1.52.1.62.2.02.2.0rc12.2.0rc22.2.0rc32.2.12.2.22.2.32.2.42.2.52.2.62.2.72.2.8 | 2.2.9 |
zendframework/zendframeworkPackagist | 2.3.0 up to 2.3.4, plus listed versions 2.3.12.3.22.3.3 | 2.3.4 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-62f6-h68r-3jpw is a medium vulnerability (CVSS 6.5) in zendframework/zendframework, published June 7, 2024. No source lists public exploit code. Fixed in zendframework/zendframework 2.2.9.
References
github.com/zendframework/zendframework/commit/1672aee3531205e5c1a0b96d8c680124ec93db09
github.com/zendframework/zendframework/commit/282135561cbf98cc93274c57966b021fd6e051b9
github.com/zendframework/zendframework/commit/5f06a1f80a1aaeac87a46bfa9b63a5a74a14866c
github.com/zendframework/zendframework/commit/9493d725ef869e6ce7ab78167539223396fda491
github.com/zendframework/zendframework/commit/ddbf43ac3fe28fe98a4104993d0cb4bffb13a026
github.com/zendframework/zendframework/commit/f22a83c611732fbc0328f0f887bccc075be1fd56