What is the vulnerability?
Null pointer Dereference is discovered in abcm2ps (8.14.6-master). The same can be triggered by sending a crafted abc file to the abcm2ps binary. It allows an attacker to cause Denial of Service (Segmentation fault) or possibly have unspecified other impacts when a victim opens a specially crafted file.
Synopsis-: During our research we discovered Null pointer dereference in set_clefs () at music.c:2635. g->ts_next is not being validated. Due to a lack of validation of g->ts_next, Null pointer dereference attack can be carried out by sending the malicious file.
Vulnerable code-:
while (g->voice != voice)
g = g->ts_next;
if (g->type != CLEF) {
g = insert_clef(g, new_type, new_line);
if (s2->sflags & S_CLEF_AUTO)
Process terminating with default action of signal 11 (SIGSEGV)
==16037== Access not within mapped region at address 0x3A
==16037== at 0x134F74: set_clefs (music.c:2635)
==16037== by 0x136711: set_global (music.c:3583)
==16037== by 0x136711: output_music (music.c:5080)
==16037== by 0x13D9C0: generate (parse.c:1041)
==16037== by 0x13DF27: gen_ly (parse.c:1062)
==16037== by 0x143F07: do_tune (parse.c:3635)
==16037== by 0x115B61: abc_parse (abcparse.c:179)
==16037== by 0x12DEE3: txt_add_eos (front.c:379)
==16037== by 0x12E373: frontend (front.c:891)
==16037== by 0x110F1C: treat_file (abcm2ps.c:240)
==16037== by 0x11013B: main (abcm2ps.c:1041)
Segmentation fault
What is the vulnerability? Null pointer Dereference is discovered in abcm2ps (8.14.6-master). The same can be triggered by sending a crafted abc file to the abcm2ps binary. It allows an attacker to cause Denial of Service (Segmentation fault) or possibly have unspecified other impacts when a victim opens a specially crafted file.
Affected version-: 8.14.6-master
Command-: ./abcm2ps $POC
Reproducer file-: REPRODUCER
Synopsis-: During our research we discovered Null pointer dereference in
set_clefs ()
at music.c:2635.g->ts_next
is not being validated. Due to a lack of validation ofg->ts_next
, Null pointer dereference attack can be carried out by sending the malicious file.Vulnerable code-:
Debug-:
GDB-:
Valgrind-: