GHSA-62f6-h68r-3jpw json
Zendframework session validation vulnerability
published 2y ago modified last yr.
- cvss
- 6.5
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
`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.
Patch / fix
- packagist zendframework/zendframework 2.2.9, 2.3.4
- github.com/zendframework/zendframework@1672aee commit
- github.com/zendframework/zendframework@2821355 commit
- github.com/zendframework/zendframework@5f06a1f commit
- github.com/zendframework/zendframework@9493d72 commit
- github.com/zendframework/zendframework@ddbf43a commit
- github.com/zendframework/zendframework@f22a83c commit
Is GHSA-62f6-h68r-3jpw in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | zendframework/zendframework | >=2.0.0, <2.2.9 >=2.3.0, <2.3.4 |
2.2.9 2.3.4 |
Classification
- Weakness
-
- CWE-384 Session Fixation
References
-
github.com
/zendframework/zendframework/commit/1672aee3531205e5c1a0b96d8c680124ec93db09
web
-
github.com
/zendframework/zendframework/commit/282135561cbf98cc93274c57966b021fd6e051b9
web
-
github.com
/zendframework/zendframework/commit/5f06a1f80a1aaeac87a46bfa9b63a5a74a14866c
web
-
github.com
/zendframework/zendframework/commit/9493d725ef869e6ce7ab78167539223396fda491
web
-
github.com
/zendframework/zendframework/commit/ddbf43ac3fe28fe98a4104993d0cb4bffb13a026
web
-
github.com
/zendframework/zendframework/commit/f22a83c611732fbc0328f0f887bccc075be1fd56
web
-
framework.zend.com
/security/advisory/ZF2015-01
web
-
github.com
/FriendsOfPHP/security-advisories/blob/master/zendframework/zendframework/ZF2015-01.yaml
web
-
github.com
/zendframework/zendframework
package
Sources
- GitHub Advisory GHSA-62f6-h68r-3jpw
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.