{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-19640",
        "assignerOrgId": "c8b34d1a-69ae-45c3-88fe-f3b3d44f39b7",
        "state": "PUBLISHED",
        "assignerShortName": "Arista",
        "dateReserved": "2026-08-12T16:48:12.259Z",
        "datePublished": "2026-09-16T09:11:32.329Z",
        "dateUpdated": "2026-09-16T10:13:38.207Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "c8b34d1a-69ae-45c3-88fe-f3b3d44f39b7",
                "shortName": "Arista",
                "dateUpdated": "2026-09-16T10:13:38.207Z"
            },
            "title": "Security Advisory 0170",
            "descriptions": [
                {
                    "lang": "en",
                    "value": "On affected platforms running Arista EOS, an authenticated user with access to the gNMI (gRPC Network Management Interface) may receive incorrect authorization results, potentially allowing access beyond their currently assigned permissions.\n\nThis issue was discovered internally by Arista and the company is not aware of any malicious uses of this issue in customer networks.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>On affected platforms running Arista EOS, an authenticated user with access to the gNMI (gRPC Network Management Interface) may receive incorrect authorization results, potentially allowing access beyond their currently assigned permissions.</p><p>This issue was discovered internally by Arista and the company is not aware of any malicious uses of this issue in customer networks.</p>"
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "vendor": "Arista Networks",
                    "product": "EOS",
                    "defaultStatus": "unaffected",
                    "versions": [
                        {
                            "version": "4.36.0F",
                            "lessThanOrEqual": "4.36.0.1F",
                            "status": "affected",
                            "versionType": "custom"
                        },
                        {
                            "version": "4.35.0F",
                            "lessThanOrEqual": "4.35.5M",
                            "status": "affected",
                            "versionType": "custom"
                        },
                        {
                            "version": "4.34.0F",
                            "lessThanOrEqual": "4.34.7M",
                            "status": "affected",
                            "versionType": "custom"
                        },
                        {
                            "version": "4.33.0F",
                            "lessThanOrEqual": "4.33.8M",
                            "status": "affected",
                            "versionType": "custom"
                        },
                        {
                            "version": "4.24.0F",
                            "lessThan": "4.33.0F",
                            "status": "affected",
                            "versionType": "custom"
                        }
                    ],
                    "platforms": [
                        "710 Series",
                        "720D Series",
                        "720XP/722XPM Series",
                        "750X Series",
                        "7010TX Series",
                        "7020R/R4 Series",
                        "7130 Series running EOS",
                        "7170 Series",
                        "7050X3/X4 Series",
                        "7060X/X2/X4/X5/X6 Series",
                        "7260X/X3 Series",
                        "7280R/R2/R3/R4 Series",
                        "7300X/X3 Series",
                        "7320X Series",
                        "7358X4 Series",
                        "7368X4 Series",
                        "7388X5 Series",
                        "7500R/R2/R3 Series",
                        "7800R3/R4 Series",
                        "7700R4 Series",
                        "AWE 5000 Series",
                        "AWE 7200R Series",
                        "CloudEOS",
                        "cEOS-lab",
                        "vEOS-lab",
                        "CloudVision eXchange, virtual or physical appliance"
                    ]
                }
            ],
            "configurations": [
                {
                    "lang": "en",
                    "value": "In order to be vulnerable to CVE-2026-19640, OpenConfig with authorized requests must be configured:\n\n  switch#show man api gnmi\n  Transport: default\n  Enabled: yes\n  Server: running on port 6030, in default VRF\n  SSL profile: oc\n  QoS DSCP: none\n  Connection limit: 100\n  Authorization required: yes\n  Accounting requests: no\n  Notification timestamp: last change time\n  Listen addresses: ::\n  Authentication username priority: x509-spiffe, metadata, x509-common-name\n  Config-commands AAA accounting: enabled\n  Config-commands AAA authorization: enabled",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>In order to be vulnerable to CVE-2026-19640, OpenConfig with authorized requests must be configured:</p><pre>switch#show man api gnmi\nTransport: default\nEnabled: yes\nServer: running on port 6030, in default VRF\nSSL profile: oc\nQoS DSCP: none\nConnection limit: 100\nAuthorization required: yes\nAccounting requests: no\nNotification timestamp: last change time\nListen addresses: ::\nAuthentication username priority: x509-spiffe, metadata, x509-common-name\nConfig-commands AAA accounting: enabled\nConfig-commands AAA authorization: enabled</pre>"
                        }
                    ]
                }
            ],
            "workarounds": [
                {
                    "lang": "en",
                    "value": "The vulnerability can be mitigated by performing both of the following actions.\n\n1. Kill gNMI subscriptions after AAA authorization policy changes. Run the following command to kill gNMI subscriptions to OpenConfig/Octa on port 6030. If a different port than the default of 6030 is being used for OpenConfig/Octa, adjust accordingly to that port:\n\n  switch#bash ss -tnp dport = 6030 | grep -o 'pid=[0-9]*' | cut -d= -f2 | xargs sudo kill\n\nNote: the port that OpenConfig/Octa is running the gNMI transport on is available in the output of the \"show man api gnmi\" CLI command (see above under the \"Server:\" field).\n\n2. Use username and password based authentication (as opposed to mTLS) for gNMI requests to OpenConfig/Octa. The following command is an example using Arista's gNMI client:\n\n  gnmi -username bob -password myPass123 -addr 127.0.0.1 subscribe /system/state\n\nFor a transport running mTLS, mTLS can be disabled for this transport by any of the configurations described below:\n\na. Configure the SSL profile to use TLS instead of mTLS. This can be done by removing the trusted certificates from the SSL profile, using the \"no trust certificate <name>\" CLI command within the SSL profile.\n\nFor example, if an SSL profile has configuration like:\n\n  management security\n     ssl profile XXY\n        certificate x.crt key x.key\n        trust certificate A.crt\n        trust certificate B.crt\n\nThen this profile can be changed from mTLS to TLS by removing each of the trusted certificates:\n\n  switch#configure\n  switch(config)#management security\n  switch(config-mgmt-security)#ssl profile XXY\n  switch(config-mgmt-sec-ssl-profile-XXY)#no trust certificate A.crt\n  switch(config-mgmt-sec-ssl-profile-XXY)#no trust certificate B.crt\n\nb. Configure the OpenConfig/Octa transport to use an insecure server instead of mTLS, by removing the SSL profile config from the \"transport grpc <name>\" mode:\n\n  switch#configure\n  switch(config)#management api gnmi\n  switch(config-mgmt-api-gnmi)#transport grpc default\n  switch(config-gnmi-transport-default)#no ssl profile",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>The vulnerability can be mitigated by performing both of the following actions.</p><p>1. Kill gNMI subscriptions after AAA authorization policy changes. Run the following command to kill gNMI subscriptions to OpenConfig/Octa on port 6030. If a different port than the default of 6030 is being used for OpenConfig/Octa, adjust accordingly to that port:</p><pre>switch#bash ss -tnp dport = 6030 | grep -o 'pid=[0-9]*' | cut -d= -f2 | xargs sudo kill</pre><p>Note: the port that OpenConfig/Octa is running the gNMI transport on is available in the output of the &quot;show man api gnmi&quot; CLI command (see above under the &quot;Server:&quot; field).</p><p>2. Use username and password based authentication (as opposed to mTLS) for gNMI requests to OpenConfig/Octa. The following command is an example using Arista's gNMI client:</p><pre>gnmi -username bob -password myPass123 -addr 127.0.0.1 subscribe /system/state</pre><p>For a transport running mTLS, mTLS can be disabled for this transport by any of the configurations described below:</p><p>a. Configure the SSL profile to use TLS instead of mTLS. This can be done by removing the trusted certificates from the SSL profile, using the &quot;no trust certificate &lt;name&gt;&quot; CLI command within the SSL profile.</p><p>For example, if an SSL profile has configuration like:</p><pre>management security\n   ssl profile XXY\n      certificate x.crt key x.key\n      trust certificate A.crt\n      trust certificate B.crt</pre><p>Then this profile can be changed from mTLS to TLS by removing each of the trusted certificates:</p><pre>switch#configure\nswitch(config)#management security\nswitch(config-mgmt-security)#ssl profile XXY\nswitch(config-mgmt-sec-ssl-profile-XXY)#no trust certificate A.crt\nswitch(config-mgmt-sec-ssl-profile-XXY)#no trust certificate B.crt</pre><p>b. Configure the OpenConfig/Octa transport to use an insecure server instead of mTLS, by removing the SSL profile config from the &quot;transport grpc &lt;name&gt;&quot; mode:</p><pre>switch#configure\nswitch(config)#management api gnmi\nswitch(config-mgmt-api-gnmi)#transport grpc default\nswitch(config-gnmi-transport-default)#no ssl profile</pre>"
                        }
                    ]
                }
            ],
            "solutions": [
                {
                    "lang": "en",
                    "value": "The recommended resolution is to upgrade to a remediated software version at your earliest convenience. Arista recommends customers move to the latest version of each release that contains all the fixes listed below.\n\nCVE-2026-19640 has been fixed in the following releases:\n- 4.36.1F and later releases in the 4.36.x train\n- 4.35.6M and later releases in the 4.35.x train\n- 4.34.8M and later releases in the 4.34.x train\n- 4.33.9M and later releases in the 4.33.x train\n\nNo hotfix is available for this issue.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>The recommended resolution is to upgrade to a remediated software version at your earliest convenience. Arista recommends customers move to the latest version of each release that contains all the fixes listed below.</p><p>CVE-2026-19640 has been fixed in the following releases:</p><ul><li>4.36.1F and later releases in the 4.36.x train</li><li>4.35.6M and later releases in the 4.35.x train</li><li>4.34.8M and later releases in the 4.34.x train</li><li>4.33.9M and later releases in the 4.33.x train</li></ul><p>No hotfix is available for this issue.</p>"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N",
                        "baseScore": 4.2,
                        "baseSeverity": "MEDIUM"
                    }
                },
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV4_0": {
                        "version": "4.0",
                        "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N",
                        "baseScore": 2.3,
                        "baseSeverity": "LOW"
                    }
                }
            ],
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "type": "CWE",
                            "lang": "en",
                            "cweId": "CWE-863",
                            "description": "CWE-863 Incorrect Authorization"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://www.arista.com/en/support/advisories-notices/security-advisory/24726-security-advisory-0170",
                    "name": "Security Advisory 0170",
                    "tags": [
                        "vendor-advisory"
                    ]
                }
            ],
            "source": {
                "advisory": "Security Advisory 0170",
                "defects": [
                    "BUG 1602635",
                    "BUG 1602639"
                ],
                "discovery": "INTERNAL"
            }
        }
    }
}