Coordinated Disclosure Timeline

  • 2022-08-24: Reported to Anton Adamansky, the lead maintainer
  • 2022-08-25: Issue has been addressed with commit

  • 2022-08-27: Maintainer has delayed response to requests for security advisory.
  • 2022-09-06: Assigned CVE-2022-23462

Summary

There is a stack buffer overflow present in iowow that allows for Denial of Service (DOS) when it parses scientific notation numbers present in JSON.

Product

iowow

Tested Version

Latest

Details

Issue: stack buffer overflow in iwjson.c (GHSL-2022-066)

void iwjson_ftoa(long double val, char buf[static IWNUMBUF_SIZE], size_t *out_len) {
             int len = snprintf(buf, 64, "%.8Lf", val);

buf has size IWNUMBUF_SIZE (32) but the format string assumes a size of 64 resulting in a stack buffer overflow. This allows for DOS due to a stack canary overwrite. Without a stack canary, instruction pointer can be overwritten with numerical values 0x30 to 0x39.

Impact

This issue may lead to Denial of Service (DOS).

CVE

  • CVE-2022-23462

Credit

This issue was discovered and reported by GHSL team member @Kwstubbs (Kevin Stubbings).

Contact

You can contact the GHSL team at securitylab@github.com, please include a reference to GHSL-2022-066 in any communication regarding this issue.