{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2024-45339",
        "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
        "state": "PUBLISHED",
        "assignerShortName": "Go",
        "dateReserved": "2024-08-27T19:41:58.556Z",
        "datePublished": "2025-01-28T01:03:24.105Z",
        "dateUpdated": "2026-04-30T03:56:03.352Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc",
                "shortName": "Go",
                "dateUpdated": "2025-01-28T01:03:24.105Z"
            },
            "title": "Vulnerability when creating log files in github.com/golang/glog",
            "descriptions": [
                {
                    "lang": "en",
                    "value": "When logs are written to a widely-writable directory (the default), an unprivileged attacker may predict a privileged process's log file path and pre-create a symbolic link to a sensitive file in its place. When that privileged process runs, it will follow the planted symlink and overwrite that sensitive file. To fix that, glog now causes the program to exit (with status code 2) when it finds that the configured log file already exists."
                }
            ],
            "affected": [
                {
                    "vendor": "github.com/golang/glog",
                    "product": "github.com/golang/glog",
                    "collectionURL": "https://pkg.go.dev",
                    "packageName": "github.com/golang/glog",
                    "versions": [
                        {
                            "version": "0",
                            "lessThan": "1.2.4",
                            "status": "affected",
                            "versionType": "semver"
                        }
                    ],
                    "programRoutines": [
                        {
                            "name": "create"
                        },
                        {
                            "name": "Error"
                        },
                        {
                            "name": "ErrorContext"
                        },
                        {
                            "name": "ErrorContextDepth"
                        },
                        {
                            "name": "ErrorContextDepthf"
                        },
                        {
                            "name": "ErrorContextf"
                        },
                        {
                            "name": "ErrorDepth"
                        },
                        {
                            "name": "ErrorDepthf"
                        },
                        {
                            "name": "Errorf"
                        },
                        {
                            "name": "Errorln"
                        },
                        {
                            "name": "Exit"
                        },
                        {
                            "name": "ExitContext"
                        },
                        {
                            "name": "ExitContextDepth"
                        },
                        {
                            "name": "ExitContextDepthf"
                        },
                        {
                            "name": "ExitContextf"
                        },
                        {
                            "name": "ExitDepth"
                        },
                        {
                            "name": "ExitDepthf"
                        },
                        {
                            "name": "Exitf"
                        },
                        {
                            "name": "Exitln"
                        },
                        {
                            "name": "Fatal"
                        },
                        {
                            "name": "FatalContext"
                        },
                        {
                            "name": "FatalContextDepth"
                        },
                        {
                            "name": "FatalContextDepthf"
                        },
                        {
                            "name": "FatalContextf"
                        },
                        {
                            "name": "FatalDepth"
                        },
                        {
                            "name": "FatalDepthf"
                        },
                        {
                            "name": "Fatalf"
                        },
                        {
                            "name": "Fatalln"
                        },
                        {
                            "name": "Info"
                        },
                        {
                            "name": "InfoContext"
                        },
                        {
                            "name": "InfoContextDepth"
                        },
                        {
                            "name": "InfoContextDepthf"
                        },
                        {
                            "name": "InfoContextf"
                        },
                        {
                            "name": "InfoDepth"
                        },
                        {
                            "name": "InfoDepthf"
                        },
                        {
                            "name": "Infof"
                        },
                        {
                            "name": "Infoln"
                        },
                        {
                            "name": "Verbose.Info"
                        },
                        {
                            "name": "Verbose.InfoContext"
                        },
                        {
                            "name": "Verbose.InfoContextDepth"
                        },
                        {
                            "name": "Verbose.InfoContextDepthf"
                        },
                        {
                            "name": "Verbose.InfoContextf"
                        },
                        {
                            "name": "Verbose.InfoDepth"
                        },
                        {
                            "name": "Verbose.InfoDepthf"
                        },
                        {
                            "name": "Verbose.Infof"
                        },
                        {
                            "name": "Verbose.Infoln"
                        },
                        {
                            "name": "Warning"
                        },
                        {
                            "name": "WarningContext"
                        },
                        {
                            "name": "WarningContextDepth"
                        },
                        {
                            "name": "WarningContextDepthf"
                        },
                        {
                            "name": "WarningContextf"
                        },
                        {
                            "name": "WarningDepth"
                        },
                        {
                            "name": "WarningDepthf"
                        },
                        {
                            "name": "Warningf"
                        },
                        {
                            "name": "Warningln"
                        },
                        {
                            "name": "fileSink.Emit"
                        },
                        {
                            "name": "logBridge.Write"
                        },
                        {
                            "name": "syncBuffer.Write"
                        }
                    ],
                    "defaultStatus": "unaffected"
                }
            ],
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "description": "CWE-61: UNIX Symbolic Link (Symlink) Following"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://github.com/golang/glog/pull/74/commits/b8741656e406e66d6992bc2c9575e460ecaa0ec2"
                },
                {
                    "url": "https://github.com/golang/glog/pull/74"
                },
                {
                    "url": "https://groups.google.com/g/golang-announce/c/H-Q4ouHWyKs"
                },
                {
                    "url": "https://owasp.org/www-community/vulnerabilities/Insecure_Temporary_File"
                },
                {
                    "url": "https://pkg.go.dev/vuln/GO-2025-3372"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Josh McSavaney"
                },
                {
                    "lang": "en",
                    "value": "Günther Noack"
                }
            ]
        },
        "adp": [
            {
                "metrics": [
                    {
                        "cvssV3_1": {
                            "scope": "UNCHANGED",
                            "version": "3.1",
                            "baseScore": 7.1,
                            "attackVector": "LOCAL",
                            "baseSeverity": "HIGH",
                            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
                            "integrityImpact": "HIGH",
                            "userInteraction": "NONE",
                            "attackComplexity": "LOW",
                            "availabilityImpact": "NONE",
                            "privilegesRequired": "LOW",
                            "confidentialityImpact": "HIGH"
                        }
                    },
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2026-04-29T00:00:00+00:00",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "total"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3",
                                "id": "CVE-2024-45339"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2026-04-30T03:56:03.352Z"
                }
            },
            {
                "title": "CVE Program Container",
                "references": [
                    {
                        "url": "https://lists.debian.org/debian-lts-announce/2025/02/msg00019.html"
                    }
                ],
                "providerMetadata": {
                    "orgId": "af854a3a-2127-422b-91ae-364da2661108",
                    "shortName": "CVE",
                    "dateUpdated": "2025-02-17T11:02:36.886Z"
                }
            }
        ]
    }
}