The keyfile settings backend in GNOME GLib (aka glib2.0) before 2.60.0 creates directories using gfilemakedirectorywithparents (kfsb->dir, NULL, NULL) and files using gfilereplacecontents (kfsb->file, contents, length, NULL, FALSE, GFILECREATEREPLACEDESTINATION, NULL, NULL, NULL). Consequently, it does not properly restrict directory (and file) permissions. Instead, for directories, 0777 permissions are used; for files, default file permissions are used. This is similar to CVE-2019-12450.
{ "vanir_signatures": [ { "digest": { "function_hash": "206605126152140042186476457105825432619", "length": 297.0 }, "target": { "file": "gio/gkeyfilesettingsbackend.c", "function": "g_keyfile_settings_backend_keyfile_write" }, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429", "signature_type": "Function", "id": "CVE-2019-13012-20d86715", "deprecated": false, "signature_version": "v1" }, { "digest": { "function_hash": "35504247401058893049625118715721596264", "length": 917.0 }, "target": { "file": "gio/gkeyfilesettingsbackend.c", "function": "g_keyfile_settings_backend_constructed" }, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429", "signature_type": "Function", "id": "CVE-2019-13012-e5ed4a77", "deprecated": false, "signature_version": "v1" }, { "digest": { "line_hashes": [ "52113572213279302410160458986699814866", "224404247974226898390717468373307870903", "142114796797454760707182356979768609955", "154898358861433275861779533176990407539", "75167872904641019238416415385927650658", "215833425520010456987160222434244676289", "36439815861384971731409604690581811993", "226039682951575096948201118831603433131" ], "threshold": 0.9 }, "target": { "file": "gio/gkeyfilesettingsbackend.c" }, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429", "signature_type": "Line", "id": "CVE-2019-13012-e6c09a32", "deprecated": false, "signature_version": "v1" } ] }