{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.1",
    "cveMetadata": {
        "cveId": "CVE-2024-9102",
        "assignerOrgId": "455daabc-a392-441d-aa46-37d35189897c",
        "state": "PUBLISHED",
        "assignerShortName": "NCSC.ch",
        "dateReserved": "2024-09-23T13:40:38.387Z",
        "datePublished": "2024-12-19T13:41:24.263Z",
        "dateUpdated": "2025-04-16T11:41:48.766Z"
    },
    "containers": {
        "cna": {
            "affected": [
                {
                    "collectionURL": "https://github.com/leenooks/phpLDAPadmin/releases",
                    "defaultStatus": "affected",
                    "platforms": [
                        "All platforms supporting phpLDAPadmin"
                    ],
                    "product": "phpLDAPadmin",
                    "repo": "https://github.com/leenooks/phpLDAPadmin",
                    "vendor": "phpLDAPadmin",
                    "versions": [
                        {
                            "status": "affected",
                            "version": "1.2.0"
                        },
                        {
                            "status": "affected",
                            "version": "1.2.6.7"
                        }
                    ]
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "type": "finder",
                    "value": "Andreas Pfefferle, Redguard AG"
                }
            ],
            "descriptions": [
                {
                    "lang": "en",
                    "supportingMedia": [
                        {
                            "base64": false,
                            "type": "text/html",
                            "value": "phpLDAPadmin since at least version 1.2.0 through the latest version 1.2.6.7 allows users to export elements from the LDAP directory into a Comma-Separated Value (CSV) file, but it does not neutralize special elements that could be interpreted as a command when the file is opened by a spreadsheet product. Thus, this could lead to CSV Formula Injection. NOTE: This vulnerability will not be addressed, the maintainer's position is that it is not the intention of phpLDAPadmin to control what data Administrators can put in their LDAP database, nor filter it on export."
                        }
                    ],
                    "value": "phpLDAPadmin since at least version 1.2.0 through the latest version 1.2.6.7 allows users to export elements from the LDAP directory into a Comma-Separated Value (CSV) file, but it does not neutralize special elements that could be interpreted as a command when the file is opened by a spreadsheet product. Thus, this could lead to CSV Formula Injection. NOTE: This vulnerability will not be addressed, the maintainer's position is that it is not the intention of phpLDAPadmin to control what data Administrators can put in their LDAP database, nor filter it on export."
                }
            ],
            "impacts": [
                {
                    "capecId": "CAPEC-549",
                    "descriptions": [
                        {
                            "lang": "en",
                            "value": "CAPEC-549 Local Execution of Code"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "cvssV4_0": {
                        "Automatable": "NOT_DEFINED",
                        "Recovery": "NOT_DEFINED",
                        "Safety": "NOT_DEFINED",
                        "attackComplexity": "LOW",
                        "attackRequirements": "PRESENT",
                        "attackVector": "LOCAL",
                        "baseScore": 5,
                        "baseSeverity": "MEDIUM",
                        "privilegesRequired": "LOW",
                        "providerUrgency": "NOT_DEFINED",
                        "subAvailabilityImpact": "LOW",
                        "subConfidentialityImpact": "HIGH",
                        "subIntegrityImpact": "HIGH",
                        "userInteraction": "NONE",
                        "valueDensity": "NOT_DEFINED",
                        "vectorString": "CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:L/SC:H/SI:H/SA:L",
                        "version": "4.0",
                        "vulnAvailabilityImpact": "LOW",
                        "vulnConfidentialityImpact": "LOW",
                        "vulnIntegrityImpact": "LOW",
                        "vulnerabilityResponseEffort": "NOT_DEFINED"
                    },
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ]
                }
            ],
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-1236",
                            "description": "CWE-1236 Improper Neutralization of Formula Elements in a CSV File",
                            "lang": "en",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "providerMetadata": {
                "orgId": "455daabc-a392-441d-aa46-37d35189897c",
                "shortName": "NCSC.ch",
                "dateUpdated": "2025-04-16T11:41:48.766Z"
            },
            "references": [
                {
                    "tags": [
                        "third-party-advisory"
                    ],
                    "url": "https://www.redguard.ch/blog/2024/12/19/security-advisory-phpldapadmin/"
                },
                {
                    "url": "https://github.com/leenooks/phpLDAPadmin/commit/ea17aadef46fd29850160987fe7740ceed1381ad#diff-93b9f3e6d4c5bdacf469ea0ec74c1e9217ca6272da9be5a1bfd711f7da16f9e3R240"
                },
                {
                    "url": "https://sourceforge.net/projects/phpldapadmin/files/phpldapadmin-php5/1.2.0"
                },
                {
                    "url": "https://github.com/leenooks/phpLDAPadmin/issues/274#issuecomment-2586859072"
                }
            ],
            "solutions": [
                {
                    "lang": "en",
                    "supportingMedia": [
                        {
                            "base64": false,
                            "type": "text/html",
                            "value": "It is recommended that control characters at the beginning of character strings in cells are filtered before CSV export in order to avoid formula injection. As such functions always start with one of the following characters, these can be filtered specifically:<br>- Equal (<tt>=</tt>)<br>- Plus (<tt>+</tt>)<br>- Minus (<tt>-</tt>)<br>- At (<tt>@</tt>)<br>- Tab (<tt>0x09</tt>)<br>- Carriage return (<tt>0x0D</tt>)<br><br>When filtering these special characters, care should be taken to ensure that not only the special characters in the first position are removed (for example in <tt>+-@=cmd|' /C calc.exe'!'A1'</tt>). Instead, all leading special characters up to the first legitimate character should be removed.<br><br>As an alternative to the above-mentioned filtering, OWASP suggests also another sanitization method which includes three steps (<a target=\"_blank\" rel=\"nofollow\" href=\"https://owasp.org/www-community/attacks/CSV_Injection\">https://owasp.org/www-community/attacks/CSV_Injection</a>).<br>"
                        }
                    ],
                    "value": "It is recommended that control characters at the beginning of character strings in cells are filtered before CSV export in order to avoid formula injection. As such functions always start with one of the following characters, these can be filtered specifically:\n- Equal (=)\n- Plus (+)\n- Minus (-)\n- At (@)\n- Tab (0x09)\n- Carriage return (0x0D)\n\nWhen filtering these special characters, care should be taken to ensure that not only the special characters in the first position are removed (for example in +-@=cmd|' /C calc.exe'!'A1'). Instead, all leading special characters up to the first legitimate character should be removed.\n\nAs an alternative to the above-mentioned filtering, OWASP suggests also another sanitization method which includes three steps ( https://owasp.org/www-community/attacks/CSV_Injection )."
                }
            ],
            "source": {
                "discovery": "EXTERNAL"
            },
            "tags": [
                "disputed"
            ],
            "title": "phpLDAPadmin: Improper Neutralization of Formula Elements",
            "workarounds": [
                {
                    "lang": "en",
                    "supportingMedia": [
                        {
                            "base64": false,
                            "type": "text/html",
                            "value": "It is advised that the Office settings in clients are configured in such a way that&nbsp;Dynamic Data Exchange (DDE) is disabled."
                        }
                    ],
                    "value": "It is advised that the Office settings in clients are configured in such a way that Dynamic Data Exchange (DDE) is disabled."
                }
            ],
            "x_generator": {
                "engine": "Vulnogram 0.2.0"
            }
        },
        "adp": [
            {
                "metrics": [
                    {
                        "other": {
                            "type": "ssvc",
                            "content": {
                                "timestamp": "2024-12-20T20:19:12.644302Z",
                                "id": "CVE-2024-9102",
                                "options": [
                                    {
                                        "Exploitation": "none"
                                    },
                                    {
                                        "Automatable": "no"
                                    },
                                    {
                                        "Technical Impact": "partial"
                                    }
                                ],
                                "role": "CISA Coordinator",
                                "version": "2.0.3"
                            }
                        }
                    }
                ],
                "title": "CISA ADP Vulnrichment",
                "providerMetadata": {
                    "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
                    "shortName": "CISA-ADP",
                    "dateUpdated": "2024-12-20T20:19:26.335Z"
                }
            }
        ]
    }
}