There is an Assertion 'page_p != NULL' failed at /parser/js/js-parser-mem.c(parser_list_get) in JerryScript 3.0.0.
###### JerryScript revision

Commit: [a6ab5e9](https://github.com/jerryscript-project/jerryscript/commit/a6ab5e9abed70cdedf9f4e9c1dc379eb762ebf64)

Version: v3.0.0



###### Build platform

Ubuntu 18.04.5 LTS (Linux 4.19.128-microsoft-standard x86_64)

Ubuntu 18.04.5 LTS (Linux 5.4.0-44-generic x86_64)



###### Build steps

```bash
python ./tools/build.py --clean --debug --compile-flag=-fsanitize=address --compile-flag=-m32 --compile-flag=-g --strip=off --lto=off --logging=on --line-info=on --error-message=on --system-allocator=on --stack-limit=20
```



###### Test case
<details>
<summary>poc.js</summary>
<pre><code>

```javascript
var stringSet;

class JSEtest {
  get #test262() { return 'get string'; }
  set #test262(param) { stringSet = param; }

  getPrivateReference() {
    return this.#test262;
  }

  setPrivateReference(value) {function    this.#test262 = value;
  }
};

var inst = new JSEtest();
assert.sameValue(inst.getPrivateReference(), 'get string');
inst.setPrivateReference('set string');
assert.sameValue(stringSet, 'set string');
```
</code></pre>
</details>
​	

###### Execution steps & Output

```bash
$ ./jerryscript/build/bin/jerry poc.js

ICE: Assertion 'page_p != NULL' failed at jerryscript/jerry-core/parser/js/js-parser-mem.c(parser_list_get):279.
Error: ERR_FAILED_INTERNAL_ASSERTION
[1]    36899 abort      jerry poc.js
```
Credits: Found by OWL337 team.

Assertion 'page_p != NULL' failed at jerryscript/jerry-core/parser/js/js-parser-mem.c(parser_list_get):279. 
This is a GitHub Issue
repo:jerryscript
owner:jerryscript-project
Title : Assertion 'page_p != NULL' failed at jerryscript/jerry-core/parser/js/js-parser-mem.c(parser_list_get):279. 
Issue date:

--- start body ---
###### JerryScript revision

Commit: [a6ab5e9](https://github.com/jerryscript-project/jerryscript/commit/a6ab5e9abed70cdedf9f4e9c1dc379eb762ebf64)

Version: v3.0.0



###### Build platform

Ubuntu 18.04.5 LTS (Linux 4.19.128-microsoft-standard x86_64)

Ubuntu 18.04.5 LTS (Linux 5.4.0-44-generic x86_64)



###### Build steps

```bash
python ./tools/build.py --clean --debug --compile-flag=-fsanitize=address --compile-flag=-m32 --compile-flag=-g --strip=off --lto=off --logging=on --line-info=on --error-message=on --system-allocator=on --stack-limit=20
```



###### Test case
<details>
<summary>poc.js</summary>
<pre><code>

```javascript
var stringSet;

class JSEtest {
  get #test262() { return 'get string'; }
  set #test262(param) { stringSet = param; }

  getPrivateReference() {
    return this.#test262;
  }

  setPrivateReference(value) {function    this.#test262 = value;
  }
};

var inst = new JSEtest();
assert.sameValue(inst.getPrivateReference(), 'get string');
inst.setPrivateReference('set string');
assert.sameValue(stringSet, 'set string');
```
</code></pre>
</details>
​	

###### Execution steps & Output

```bash
$ ./jerryscript/build/bin/jerry poc.js

ICE: Assertion 'page_p != NULL' failed at jerryscript/jerry-core/parser/js/js-parser-mem.c(parser_list_get):279.
Error: ERR_FAILED_INTERNAL_ASSERTION
[1]    36899 abort      jerry poc.js
```
Credits: Found by OWL337 team.

--- end body ---

An assertion failure in the JerryScript engine indicates a potential vulnerability in the memory management of the parser. The failure occurs when the parser attempts to access a memory page that is expected to be valid but is found to be NULL, leading to a crash. This could potentially be exploited to cause a Denial of Service (DoS) or to execute arbitrary code if the memory corruption can be controlled by an attacker.