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": [ { "signature_version": "v1", "signature_type": "Function", "target": { "file": "gio/gkeyfilesettingsbackend.c", "function": "g_keyfile_settings_backend_keyfile_write" }, "id": "CVE-2019-13012-20d86715", "digest": { "length": 297.0, "function_hash": "206605126152140042186476457105825432619" }, "deprecated": false, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429" }, { "signature_version": "v1", "signature_type": "Function", "target": { "file": "gio/gkeyfilesettingsbackend.c", "function": "g_keyfile_settings_backend_constructed" }, "id": "CVE-2019-13012-e5ed4a77", "digest": { "length": 917.0, "function_hash": "35504247401058893049625118715721596264" }, "deprecated": false, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429" }, { "signature_version": "v1", "signature_type": "Line", "target": { "file": "gio/gkeyfilesettingsbackend.c" }, "id": "CVE-2019-13012-e6c09a32", "digest": { "line_hashes": [ "52113572213279302410160458986699814866", "224404247974226898390717468373307870903", "142114796797454760707182356979768609955", "154898358861433275861779533176990407539", "75167872904641019238416415385927650658", "215833425520010456987160222434244676289", "36439815861384971731409604690581811993", "226039682951575096948201118831603433131" ], "threshold": 0.9 }, "deprecated": false, "source": "https://gitlab.gnome.org/GNOME/glib@5e4da714f00f6bfb2ccd6d73d61329c6f3a08429" } ] }