A double-free is present in libyang before v1.0-r1 in the function yyparse() when an empty description is used. Applications that use libyang to parse untrusted input yang files may be vulnerable to this flaw, which would cause a crash or potentially code execution.
[
{
"signature_type": "Function",
"digest": {
"function_hash": "210618447206416842963716160319291067596",
"length": 2549.0
},
"source": "https://github.com/cesnet/libyang/commit/d9feacc4a590d35dbc1af21caf9080008b4450ed",
"target": {
"file": "src/parser_yang.c",
"function": "yang_read_extcomplex_str"
},
"id": "CVE-2019-20393-0b51fd0c",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"159197367693089516205569419912882508586",
"338106989825557444275081214165145915240",
"173638409708146125147860696944110058569",
"53588195873947443362605094523268632561"
],
"threshold": 0.9
},
"source": "https://github.com/cesnet/libyang/commit/d9feacc4a590d35dbc1af21caf9080008b4450ed",
"target": {
"file": "src/parser_yang.h"
},
"id": "CVE-2019-20393-771ceaf5",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"21416199901454646743488100686154337882",
"99164107408091063006777308910482006306",
"61145605236541993103649237040225949367",
"25219585484697981976401862072666946141",
"211425843115769248843453539035067461254",
"339575617453095667235171076010640122886",
"120029062690870830515387605234494720776",
"36172509862558898669720294441233507847",
"254486200007475077881178437586168801239",
"177520086970103864665717550503336861879",
"194409106657883996911427762030776432816",
"117077981437795543605848299468409372024",
"80297440400200033459641880579578726293",
"153541918219877504581369759612042270485",
"271518729587833602837386109568267296786",
"297590879985857847552467511180086627227",
"177270519452510328620494519888220248824"
],
"threshold": 0.9
},
"source": "https://github.com/cesnet/libyang/commit/d9feacc4a590d35dbc1af21caf9080008b4450ed",
"target": {
"file": "src/parser_yang.c"
},
"id": "CVE-2019-20393-7c066af9",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Function",
"digest": {
"function_hash": "297619105104962865464252916456058722015",
"length": 121723.0
},
"source": "https://github.com/cesnet/libyang/commit/d9feacc4a590d35dbc1af21caf9080008b4450ed",
"target": {
"file": "src/parser_yang_bis.c",
"function": "yyparse"
},
"id": "CVE-2019-20393-897a4187",
"deprecated": false,
"signature_version": "v1"
},
{
"signature_type": "Line",
"digest": {
"line_hashes": [
"281173314764415771078734596198839755998",
"160286089755377420471048506915642211568",
"175388115082871246159087214172897637780",
"273804716555576637974727595170238162137",
"310981047629080967697626232498865314043",
"90823686894974054152352645734798982690",
"28012874169947363259138203723484029924",
"41694348609127876001830458036253700810",
"131777903932017419486465995440103100648",
"168013029427957451649208388171256321784",
"186245089661852243317568101655424807515",
"81108806283943699757978489840608461396",
"50197152091423902626038935630591975267",
"308088478696431713122006729790779885025",
"28599201766766415515356910472396650691",
"194251369466084534053266358921769586418",
"48886778270000747810057481298878765273",
"295041330686215775529943419110018374422",
"7550286812935820323808551807101263791",
"12114679460682025133744961202188155820",
"69563439567826275403782157747820226829",
"264145785382469150700010076871629393182",
"48015251036073566216842964328906380190",
"20969775262226781481092469174613296434",
"161875272980297512773701091650123129992",
"239587576820807265019085726896510712062",
"270582090242205734324764746108689898697",
"329491352820764632893578964270107894124",
"89123590792079233993250112918373910657",
"185542756248377223930882272774750473442",
"143546575568490012525947902002105892405",
"183892370886530013127993239560636193310",
"192318873967208278677638109277753104145",
"180817541286572442755944851340801350087",
"263210088259807270771394852731167125662",
"26847781364965320247592763304101656632",
"97430940798891537200917969977282827827",
"203839397688829917857372281443131757783",
"185575732252900552358483226676836365434",
"218148538451266829825753437215346701203",
"213425459907171197499333283281566514602",
"11892478604650406129648621206888448413",
"104055479078570837068541309030847886051",
"292839487684752323339842305008817444422",
"337924772314129945170287766072078882562",
"290944425752099368339658787501825879325",
"239862230735436140578488231568880269421",
"219048122820663869899582858462045827627",
"260060293791655827972520123066455821443",
"75093356721276301056581711965015187354",
"294652982765899541525287073317883349072",
"221195174597733744918813477800015070452",
"103068719435928311614366960102813526850",
"24412773842532597515577637433450339985",
"138753240435025182351849187912868853524",
"104699215554303490721106272557452301292",
"73595796927291042388008768248289119025",
"213878865549469413887381018988286868657",
"246735937759765771582976692450516169314",
"149068710609364842013269967989769065268",
"331792664372799127003290740983244951507",
"30007146344462048416157824632232802324",
"657236584375837295832280113545998170",
"82051395226462430428823479045117612741",
"17883174574016127189154554461401547220",
"62629405015727775025619654707274040385",
"120656547916620015523684584115728828245",
"252844827007950580572148529655832974140",
"323601965787562601594957188307789821339",
"82310983095193557974985880835690465373",
"1817202309068896578043245509465660462",
"235505973840472814673301729253275616595"
],
"threshold": 0.9
},
"source": "https://github.com/cesnet/libyang/commit/d9feacc4a590d35dbc1af21caf9080008b4450ed",
"target": {
"file": "src/parser_yang_bis.c"
},
"id": "CVE-2019-20393-957c8d30",
"deprecated": false,
"signature_version": "v1"
}
]