friends-of-presta / security-advisories

Security advisories of the FOP security team for prestashop
https://security.friendsofpresta.org
Other
18 stars 20 forks source link

Amélioration du template de l'advisory #164

Open BarbUk opened 9 months ago

BarbUk commented 9 months ago

Pour modifier l'api, il faut réorganiser les variables du front matter des CVE.

Nous avons actuellement un front matter avec les variables suivantes:

https://raw.githubusercontent.com/friends-of-presta/security-advisories/main/_posts/2023-05-30-myinventory.md

---
layout: post
title: "[CVE-2023-30197] Improper Limitation of a Pathname to a Restricted Directory in Webbax - My inventory module for PrestaShop"
categories: modules
author:
- TouchWeb.fr
- 202 Ecommerce
- Friends-Of-Presta.org
meta: "CVE,PrestaShop,myinventory"
severity: "high (7.5), GDPR violation"
---

Ces variables sont utilisées dans l'api ainsi que pour la recherche.

Pour avancer, il faut déterminer les variables que l'on veut centraliser dans le front matter et qui permettra de dynamiser certain blocs.

BarbUk commented 9 months ago

Voici ce que j'avais commencé:

---
layout: post
title: "[CVE-2023-33664] Improper neutralization of a SQL parameter in aicombinationsonfly module for PrestaShop"

product: 
    platform: PrestaShop
    type: module
    name: aicombinationsonfly
    author: ai-dev

vulnerability:
    cve: CVE-2023-33664
    cwe: 89
    cvss: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    versions_affected:
        from: 
        to: < 0.3.1 
    requires_deletion: false
    source: Friends-Of-Presta.org
    published_date: 2023-06-28
    severity: critical (9.8)

categories: modules

author:
- 202-ecommerce.com
- TouchWeb.fr
- Friends-Of-Presta.org

meta: "CVE,PrestaShop,aicombinationsonfly"
---

Ce qui permettrai de définir le bloc Summary comme ça:

## Summary

* **CVE ID**: [{{ page.vulnerability.cve }}](https://cve.mitre.org/cgi-bin/cvename.cgi?name={{ page.vulnerability.cve.id }})
* **Published at**: {{ page.vulnerability.published_date }}
* **Advisory source**: {{ page.vulnerability.source }}
* **Platform**: {{ page.product.platform }}
* **Product**: {{ page.product.name }}
* **Impacted release**: {{ page.vulnerability.versions_affected.from }} {{ page.vulnerability.versions_affected.to }}
* **Product author**: {{ page.product.author }}
* **Weakness**: [CWE-{{ page.vulnerability.cwe }}](https://cwe.mitre.org/data/definitions/{{ page.vulnerability.cwe.id }}.html)
* **Severity**: {{ page.vulnerability.severity }}
StoreCommanderDev commented 9 months ago

Ne pas oublier le : Discover credit qui doit se retrouver dans Summary si j'ai bien tout suivi

maxime-morel commented 9 months ago

Le titre serait à renommer selon moi : Amélioration du template de l'advisory L'objectif premier n'est pas d'améliorer l'API, ça me semble être un besoin secondaire.

Ce qui nous intéresse ici :

Qu'en pensez vous ?

maxime-morel commented 9 months ago

Liste des variables que je vois pour les advisories des modules : (en prenant pour base la structure de @BarbUk)

Module:

Vulnerability:

Patch :

+ Les autres variables actuelles qui peuvent nous servir, comme le meta, layout, etc..

Le CWE peut générer automatiquement le contenu. Exemple avec le CWE-89:

Title:

[{{ cve_id }}] Improper neutralization of SQL parameter(s) in {{ module.name }} module for PrestaShop

Short Description:

In the module “{{ module.name }}” ({{ module.technical_name }}) from version {{ vulnerability.version.from }} up to version {{ vulnerability.version.up_to }} from {{ module.author }} for PrestaShop, a guest can perform SQL injection in affected versions.

Des conditions doivent être mises en place en fonction du CWE et en fonction des paramètres de version (Par exemple si from exist ou non.

Idéalement la severity sera également issue vector string.

Les autres informations, comme la description longue ou le POC n'ont selon moi pas d'intérêt particulier à être mis en variable sauf si ceci peut aider pour l'API.

BarbUk commented 8 months ago

Le titre serait à renommer selon moi : Amélioration du template de l'advisory

Merci pour le retour. J'ai changé le titre.

Le but est donc:

jf-viguier commented 8 months ago

versions_affected: from: to: < 0.3.1

to: devrait être un numéro de version fixe sans <

il manque la version on c'est fixé ou l'info si c'est fixé ou non
:fixedinversion: 0.3.1

Pour la  severity: critical (9.8)

on peut se contenter du chiffre, ou alors rajouter un champ label, cela permettrait de filter les 9 et +

BarbUk commented 8 months ago

ajouter de la date de découverte de la CVE

maxime-morel commented 8 months ago

Discuté en réunion :

BarbUk commented 8 months ago

Dans un second temps:

maxime-morel commented 8 months ago

As discussed during meeting of Thursday 16, 2023: "Discovery credits" would probably replace "Advisory source". To validate in the new template.

clotairer commented 6 months ago

In some rare cases like an security issue in a dependency like phpunit here : https://security.friendsofpresta.org/dependancies/2020/01/07/phpunit-CVE-2017-9841.html several modules are impacted. JSON from CVElist manage an array : https://github.com/CVEProject/cvelist/blob/master/2023/6xxx/CVE-2023-6921.json

   "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "vendor_name": "PrestaShow",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "PrestaShop Google Integrator",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "<",
                                            "version_name": "0",
                                            "version_value": "2.1.4"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },