{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/use-netconf-confirmed-commit-with-rehearsal/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
        "slug": "use-netconf-confirmed-commit-with-rehearsal",
        "url": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/use-netconf-confirmed-commit-with-rehearsal/"
        },
        "title": "Use NETCONF confirmed commit only with a rehearsed confirmation path",
        "summary": "Use confirmed commit to limit risky configuration changes only after validating capability support, timeout behavior, locking, and recovery.",
        "format": {
            "slug": "playbook",
            "name": "Playbook"
        },
        "priority": {
            "slug": "important",
            "name": "Important"
        },
        "featured": false,
        "image": {
            "theme": "network-infrastructure",
            "label": "Networks & infrastructure",
            "alt": "Resilient network core with engineered blue and gold data paths.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "business-continuity",
                "name": "Business Continuity",
                "url": "https://update.dsesecurity.com/topic/business-continuity/"
            },
            {
                "slug": "networks-infrastructure",
                "name": "Networks & Infrastructure",
                "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-08-25T21:34:34+00:00",
        "modified_at": "2026-08-25T21:43:56+00:00",
        "reviewed_on": "2026-08-25",
        "reading_minutes": 3,
        "word_count": 486,
        "potentially_affected": "NETCONF-managed devices that advertise candidate and confirmed-commit capabilities",
        "dse_recommendation": "Qualify confirmed commit on each platform, set a justified timeout, and confirm only after an independent service check succeeds.",
        "primary_source": {
            "name": "RFC 6241: Network Configuration Protocol (NETCONF)",
            "url": "https://www.rfc-editor.org/rfc/rfc6241.html",
            "published_on": null,
            "authority": "www.rfc-editor.org"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<p>NETCONF confirmed commit can automatically revert an unconfirmed change, which is valuable when management reachability is at risk. It is still a stateful workflow with capability, timing, locking, and concurrency conditions that must be rehearsed on the exact device.</p>\n<h2>Source fact:</h2>\n<p><a href=\"https://www.rfc-editor.org/rfc/rfc6241.html\" target=\"_blank\" rel=\"noopener noreferrer\">IETF RFC 6241</a> defines NETCONF operations and optional capabilities. With the confirmed-commit capability and candidate configuration support, a client can commit configuration provisionally. If the commit is not confirmed before the timeout, the server restores the configuration that was in effect before the provisional change. The protocol defines a default timeout of 600 seconds when a different value is not supplied.</p>\n<p>The RFC distinguishes a normal confirmed commit from a persistent confirmed commit that can be completed through another session using a persistence identifier. It also defines cancellation and behavior related to session termination or device events. The safety property depends on the server implementing and advertising the relevant capabilities and on the client following the defined sequence.</p>\n<h2>Boundary</h2>\n<p>Automatic configuration reversion does not guarantee service recovery. Runtime state, dynamic adjacencies, external systems, or a partial device failure may not return with configuration alone. Vendor implementations can impose constraints beyond the RFC. Another session modifying shared configuration during the confirmation window can complicate the result, particularly without appropriate locking and change coordination. A timeout that is too short can revert a good change; one that is too long can extend an outage.</p>\n<h2>Applicability questions</h2>\n<ul>\n<li>Does the server advertise candidate and confirmed-commit capabilities, including persistent mode if needed?</li>\n<li>What exact configuration snapshot is restored after timeout, cancellation, session loss, and reboot?</li>\n<li>Can another tool or administrator edit the same datastore during the pending commit?</li>\n<li>Which independent service checks must pass before confirmation?</li>\n<li>How long does the full validation take under realistic latency and operational response?</li>\n</ul>\n<h2>DSE recommendation:</h2>\n<p>Capture capability discovery and test the workflow on every supported device family and release. In a lab, issue a benign provisional change, allow it to time out, explicitly cancel it, drop the client session, and test a restart if the vendor supports that scenario. Compare the resulting configuration and service state each time. Determine whether the automation needs persistent mode and how it protects the persistence identifier.</p>\n<p>Choose a timeout from measured validation and recovery time with a documented margin. Acquire supported locks or otherwise serialize changes so no unrelated writer modifies the candidate or running state. Confirm only after out-of-band reachability, routing, forwarding, security policy, and a representative application probe pass. If the verification channel depends on the changed path, create an independent check before using the feature as protection.</p>\n<h2>Verification and evidence</h2>\n<p>Retain capabilities, device/version matrix, datastore snapshots, RPC and reply logs, timeout rationale, session-loss and cancellation tests, independent probe results, and operator runbook. Evidence should demonstrate both paths: a successful change that is deliberately confirmed and a harmful test change that reverts within the accepted window. Requalify after NETCONF client or device upgrades.</p>\n<h2>Official references</h2>\n<ul>\n<li><a href=\"https://www.rfc-editor.org/rfc/rfc6241.html\" target=\"_blank\" rel=\"noopener noreferrer\">IETF RFC 6241</a></li>\n</ul>",
        "content_text": "NETCONF confirmed commit can automatically revert an unconfirmed change, which is valuable when management reachability is at risk. It is still a stateful workflow with capability, timing, locking, and concurrency conditions that must be rehearsed on the exact device.\nSource fact:\nIETF RFC 6241 defines NETCONF operations and optional capabilities. With the confirmed-commit capability and candidate configuration support, a client can commit configuration provisionally. If the commit is not confirmed before the timeout, the server restores the configuration that was in effect before the provisional change. The protocol defines a default timeout of 600 seconds when a different value is not supplied.\nThe RFC distinguishes a normal confirmed commit from a persistent confirmed commit that can be completed through another session using a persistence identifier. It also defines cancellation and behavior related to session termination or device events. The safety property depends on the server implementing and advertising the relevant capabilities and on the client following the defined sequence.\nBoundary\nAutomatic configuration reversion does not guarantee service recovery. Runtime state, dynamic adjacencies, external systems, or a partial device failure may not return with configuration alone. Vendor implementations can impose constraints beyond the RFC. Another session modifying shared configuration during the confirmation window can complicate the result, particularly without appropriate locking and change coordination. A timeout that is too short can revert a good change; one that is too long can extend an outage.\nApplicability questions\n\nDoes the server advertise candidate and confirmed-commit capabilities, including persistent mode if needed?\nWhat exact configuration snapshot is restored after timeout, cancellation, session loss, and reboot?\nCan another tool or administrator edit the same datastore during the pending commit?\nWhich independent service checks must pass before confirmation?\nHow long does the full validation take under realistic latency and operational response?\n\nDSE recommendation:\nCapture capability discovery and test the workflow on every supported device family and release. In a lab, issue a benign provisional change, allow it to time out, explicitly cancel it, drop the client session, and test a restart if the vendor supports that scenario. Compare the resulting configuration and service state each time. Determine whether the automation needs persistent mode and how it protects the persistence identifier.\nChoose a timeout from measured validation and recovery time with a documented margin. Acquire supported locks or otherwise serialize changes so no unrelated writer modifies the candidate or running state. Confirm only after out-of-band reachability, routing, forwarding, security policy, and a representative application probe pass. If the verification channel depends on the changed path, create an independent check before using the feature as protection.\nVerification and evidence\nRetain capabilities, device/version matrix, datastore snapshots, RPC and reply logs, timeout rationale, session-loss and cancellation tests, independent probe results, and operator runbook. Evidence should demonstrate both paths: a successful change that is deliberately confirmed and a harmful test change that reverts within the accepted window. Requalify after NETCONF client or device upgrades.\nOfficial references\n\nIETF RFC 6241",
        "content_markdown": "NETCONF confirmed commit can automatically revert an unconfirmed change, which is valuable when management reachability is at risk. It is still a stateful workflow with capability, timing, locking, and concurrency conditions that must be rehearsed on the exact device.\n\n## Source fact:\n\n[IETF RFC 6241](https://www.rfc-editor.org/rfc/rfc6241.html) defines NETCONF operations and optional capabilities. With the confirmed-commit capability and candidate configuration support, a client can commit configuration provisionally. If the commit is not confirmed before the timeout, the server restores the configuration that was in effect before the provisional change. The protocol defines a default timeout of 600 seconds when a different value is not supplied.\n\nThe RFC distinguishes a normal confirmed commit from a persistent confirmed commit that can be completed through another session using a persistence identifier. It also defines cancellation and behavior related to session termination or device events. The safety property depends on the server implementing and advertising the relevant capabilities and on the client following the defined sequence.\n\n## Boundary\n\nAutomatic configuration reversion does not guarantee service recovery. Runtime state, dynamic adjacencies, external systems, or a partial device failure may not return with configuration alone. Vendor implementations can impose constraints beyond the RFC. Another session modifying shared configuration during the confirmation window can complicate the result, particularly without appropriate locking and change coordination. A timeout that is too short can revert a good change; one that is too long can extend an outage.\n\n## Applicability questions\n\n- Does the server advertise candidate and confirmed-commit capabilities, including persistent mode if needed?\n\n- What exact configuration snapshot is restored after timeout, cancellation, session loss, and reboot?\n\n- Can another tool or administrator edit the same datastore during the pending commit?\n\n- Which independent service checks must pass before confirmation?\n\n- How long does the full validation take under realistic latency and operational response?\n\n## DSE recommendation:\n\nCapture capability discovery and test the workflow on every supported device family and release. In a lab, issue a benign provisional change, allow it to time out, explicitly cancel it, drop the client session, and test a restart if the vendor supports that scenario. Compare the resulting configuration and service state each time. Determine whether the automation needs persistent mode and how it protects the persistence identifier.\n\nChoose a timeout from measured validation and recovery time with a documented margin. Acquire supported locks or otherwise serialize changes so no unrelated writer modifies the candidate or running state. Confirm only after out-of-band reachability, routing, forwarding, security policy, and a representative application probe pass. If the verification channel depends on the changed path, create an independent check before using the feature as protection.\n\n## Verification and evidence\n\nRetain capabilities, device/version matrix, datastore snapshots, RPC and reply logs, timeout rationale, session-loss and cancellation tests, independent probe results, and operator runbook. Evidence should demonstrate both paths: a successful change that is deliberately confirmed and a harmful test change that reverts within the accepted window. Requalify after NETCONF client or device upgrades.\n\n## Official references\n\n- [IETF RFC 6241](https://www.rfc-editor.org/rfc/rfc6241.html)"
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
                "url": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-08-25"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Use NETCONF confirmed commit only with a rehearsed confirmation path",
                        "item": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/#article",
                "identifier": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
                "url": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/",
                "headline": "Use NETCONF confirmed commit only with a rehearsed confirmation path",
                "description": "Use confirmed commit to limit risky configuration changes only after validating capability support, timeout behavior, locking, and recovery.",
                "abstract": "Use confirmed commit to limit risky configuration changes only after validating capability support, timeout behavior, locking, and recovery.",
                "articleBody": "NETCONF confirmed commit can automatically revert an unconfirmed change, which is valuable when management reachability is at risk. It is still a stateful workflow with capability, timing, locking, and concurrency conditions that must be rehearsed on the exact device.\nSource fact:\nIETF RFC 6241 defines NETCONF operations and optional capabilities. With the confirmed-commit capability and candidate configuration support, a client can commit configuration provisionally. If the commit is not confirmed before the timeout, the server restores the configuration that was in effect before the provisional change. The protocol defines a default timeout of 600 seconds when a different value is not supplied.\nThe RFC distinguishes a normal confirmed commit from a persistent confirmed commit that can be completed through another session using a persistence identifier. It also defines cancellation and behavior related to session termination or device events. The safety property depends on the server implementing and advertising the relevant capabilities and on the client following the defined sequence.\nBoundary\nAutomatic configuration reversion does not guarantee service recovery. Runtime state, dynamic adjacencies, external systems, or a partial device failure may not return with configuration alone. Vendor implementations can impose constraints beyond the RFC. Another session modifying shared configuration during the confirmation window can complicate the result, particularly without appropriate locking and change coordination. A timeout that is too short can revert a good change; one that is too long can extend an outage.\nApplicability questions\n\nDoes the server advertise candidate and confirmed-commit capabilities, including persistent mode if needed?\nWhat exact configuration snapshot is restored after timeout, cancellation, session loss, and reboot?\nCan another tool or administrator edit the same datastore during the pending commit?\nWhich independent service checks must pass before confirmation?\nHow long does the full validation take under realistic latency and operational response?\n\nDSE recommendation:\nCapture capability discovery and test the workflow on every supported device family and release. In a lab, issue a benign provisional change, allow it to time out, explicitly cancel it, drop the client session, and test a restart if the vendor supports that scenario. Compare the resulting configuration and service state each time. Determine whether the automation needs persistent mode and how it protects the persistence identifier.\nChoose a timeout from measured validation and recovery time with a documented margin. Acquire supported locks or otherwise serialize changes so no unrelated writer modifies the candidate or running state. Confirm only after out-of-band reachability, routing, forwarding, security policy, and a representative application probe pass. If the verification channel depends on the changed path, create an independent check before using the feature as protection.\nVerification and evidence\nRetain capabilities, device/version matrix, datastore snapshots, RPC and reply logs, timeout rationale, session-loss and cancellation tests, independent probe results, and operator runbook. Evidence should demonstrate both paths: a successful change that is deliberately confirmed and a harmful test change that reverts within the accepted window. Requalify after NETCONF client or device upgrades.\nOfficial references\n\nIETF RFC 6241",
                "datePublished": "2026-08-25T21:34:34+00:00",
                "dateModified": "2026-08-25T21:43:56+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/use-netconf-confirmed-commit-with-rehearsal/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/network-infrastructure-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Use NETCONF confirmed commit only with a rehearsed confirmation path"
                },
                "articleSection": [
                    "Business Continuity",
                    "Networks & Infrastructure"
                ],
                "keywords": [
                    "Business Continuity",
                    "Networks & Infrastructure",
                    "Playbook",
                    "Important priority"
                ],
                "genre": "Playbook",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Business Continuity",
                        "url": "https://update.dsesecurity.com/topic/business-continuity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "Networks & Infrastructure",
                        "url": "https://update.dsesecurity.com/topic/networks-infrastructure/"
                    }
                ],
                "wordCount": 486,
                "timeRequired": "PT3M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "RFC 6241: Network Configuration Protocol (NETCONF)",
                    "url": "https://www.rfc-editor.org/rfc/rfc6241.html"
                }
            }
        ]
    }
}